解压文件时出错 - Jupyter Notebook - Python 2.x -3.x

我正在尝试从https://www.fec.gov/data/browse-data/?tab=bulk-data下载 .zip 文件,特别是https://www.fec.gov/files/bulk-downloads/2020 /indiv20.zip。压缩后,文件大小为 2.7 GB。下载将在 10 秒内启动并完成。当我尝试解压缩该文件时,我收到以下错误消息。下载到我的本地计算机时,链接会以 .zip 文件形式下载并打开所需的数据。


!python --version

Python 3.7.8


!curl -O https://www.fec.gov/files/bulk-downloads/2020/indiv20.zip

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current Dload  Upload   Total   Spent    Left  Speed 100   138  100   138    0     0    690      0 --:--:-- --:--:-- --:--:--   690


!unzip -a indiv20.zip

Archive:  indiv20.zip End-of-central-directory signature not found.  Either this file is not a zipfile, or it constitutes one disk of a multi-part archive.  In the latter case the central directory and zipfile comment will be found on the last disk(s) of this archive. unzip:  cannot find zipfile directory in one of indiv20.zip or indiv20.zip.zip, and cannot find indiv20.zip.ZIP, period. 


import zipfile

with zipfile.ZipFile("indiv20.zip", 'r') as zip_ref:

    zip_ref.extractall()


精慕HU
浏览 167回答 2
2回答

HUX布斯

看起来 HTTP 服务器正在返回重定向,并将curl“302 Found”消息存储到 indiv20.zip 文件中,而不是实际的 ZIP 数据中。您可以通过在命令中添加-L(或--location)参数来解决此问题curl,以便它遵循重定向:$ curl -LO https://www.fec.gov/files/bulk-downloads/2020/indiv20.zip

米脂

检查文件的内容。这可能是 html 中的错误消息。(cat indiv20.zip)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python