【问题标题】:Reading a zipfile with pandas用 pandas 读取 zipfile
【发布时间】:2021-07-15 13:30:22
【问题描述】:

我目前正在尝试读取我压缩成 zip 文件的 csv 文件(这个 zip 文件只包含我的 csv)。我试图简单地写pd.read_csv("trigramme_matrix.zip")(如文档中所建议的那样),但这会返回NotImplementedError: compression type 9 (deflate64)。 然后我尝试使用带有z = zipfile.ZipFile("trigramme_matrix.zip", "r")pd.read_csv(z.read("trigramme_matrix.csv")) 的zipfile 模块解决我的问题,但它一直抛出同样的错误。

我搜索了是否可以对此错误有所了解,但我得到的信息对我没有多大帮助...

提前谢谢你。

【问题讨论】:

  • 看起来您的文件已使用 7-zip 压缩 - 请参阅此处:en.wikipedia.org/wiki/Deflate#Deflate64/Enhanced_Deflate
  • @Mortz,我不知道,我只是在我的电脑(Windows 10)上手动压缩它......我不知道如何让自己摆脱这个问题......我我目前正在阅读这方面的几个主题,但不幸的是它并没有太大帮助
  • @EmmanuelDonald 感谢您的回答,我已经偶然发现了这篇文章,但我无法理解......我已经看到这可能是解决方案的开始:命令行解决方法是解压缩,然后重新压缩,得到一个普通的类型 8:放气。但不幸的是,我不知道如何解压缩然后重新压缩以获得类型 8... 请问这个命令行是什么?(如果你知道的话)

标签: pandas windows zipfile deflate


【解决方案1】:

我假设您像我一样使用 Windows,如果不是这样,请告诉我。在 Windows XP 及更高版本中解压缩类型 9 Zip 文件很容易,因为它们具有对 Zip 文件的内置支持。我假设您在运行 python 代码之前正在这样做。如果您想在运行时执行此操作,我们遇到的旧帖子中有使用 7Zip 软件在运行时解压缩的代码。

第 1 步:从 type 9 Zip 文件中提取 csv

Windows 资源管理器将像打开任何普通文件夹一样打开 Zip 文件。必须将 csv 文件复制到 zip 文件中并将其粘贴到所需的文件夹中。

第 2 步:我们可以使用 Windows 资源管理器再次压缩 csv,这次是普通 zip(不是类型 9),这是 Windows 资源管理器使用的默认值

第 3 步:如果您出于某种原因想使用命令行,一种方法是获取一些可与命令行一起使用的解压缩软件,例如 http://stahlworks.com/dev/unzip.exe

请确保您使用防病毒软件对其进行扫描

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-09
    • 1970-01-01
    • 1970-01-01
    • 2015-11-05
    • 1970-01-01
    • 2019-12-27
    • 1970-01-01
    相关资源
    最近更新 更多