You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python从URL读取Zip文件提取CSV时出现BadZipFile错误如何修复

错误原因

  • 你当前使用的是Google Drive的文件预览页面链接,请求返回的是HTML网页内容,并非二进制Zip文件流,因此传入ZipFile解析时直接抛出BadZipFile错误
  • 你拼接url + urllib.request.quote(zip_file_name)的逻辑不符合Google Drive直链下载的规则,属于无效拼接

修复方案

Google Drive共享链接的通用格式为https://drive.google.com/file/d/{文件ID}/view,你需要先从原链接中提取文件ID,再替换到直链下载模板https://drive.google.com/uc?export=download&id={文件ID}中,即可获取真实的Zip文件流。你给出的链接中文件ID为1gQGYF8TaznCfdevo7-MsHW5IcwftZWP_,修复后的代码如下:

import pandas as pd
from io import BytesIO, TextIOWrapper
from zipfile import ZipFile
import urllib

# 拼接Google Drive直链下载地址
file_id = '1gQGYF8TaznCfdevo7-MsHW5IcwftZWP_'
url = f'https://drive.google.com/uc?export=download&id={file_id}'

resp = urllib.request.urlopen(url)
zipfile = ZipFile(BytesIO(resp.read()))

data = TextIOWrapper(zipfile.open('high42.csv'), encoding='utf-8')
df = pd.read_csv(data)

注意:如果Zip文件大小超过100M,Google Drive会跳过病毒扫描弹出下载确认页,这种场景需要额外处理请求携带Cookie获取真实下载链接,100M以内的小体积Zip文件以上代码可直接运行。

内容的提问来源于stack exchange,提问作者Georg_Z

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 19:06:02