当前位置: 首页 > 知识库问答 >
问题:

通过Python zipfile库单独读取压缩的csv文件(.zip.z01等)

汪玮
2023-03-14

我们如何读取压缩成多个文件的csv文件?

由于FAT存储格式的4 GB限制,我将csv文件合并为多个zip文件,如test.ziptest.z01

import pandas as pd
import zipfile

zf = zipfile.ZipFile('C:/Users/Desktop/THEZIPFILE.zip') 
df = pd.read_csv(zf.open('intfile.csv'))

共有1个答案

孟晨朗
2023-03-14

我以一种迂回的方式解决了这个问题,显式地将两个csv文件变成完全不同的两个压缩文件,这两个压缩文件具有相似的列数,并将它们合并成一个文件

import pandas as pd
import zipfile

zf1 = zipfile.ZipFile('C:/Users/Desktop/THEZIPFILE1.zip') 
df1 = pd.read_csv(zf1.open('intfile.csv'))

zf2 = zipfile.ZipFile('C:/Users/Desktop/THEZIPFILE2.zip') 
df2 = pd.read_csv(zf2.open('intfile.csv'))
 类似资料:
  • 我正在尝试将压缩的csv文件(.bz2)读取为数据帧。我的代码如下 当我在IDE中尝试时,这是可行的。我可以读取数据并对其进行处理,但当我尝试使用maven构建数据并在命令行上运行它时,会出现以下错误 我不确定我是否在这里错过了什么。读取csv文件是否有一些依赖项?根据留档,Spark 2. x. x内置了对此的支持。

  • 我正试图从压缩的csv文件中获取数据。有没有一种方法可以做到这一点,而不解压整个文件?如果没有,我如何解压文件并有效地读取它们?

  • 问题内容: 我有一个包含以下各列的csv文件: 身份证,姓名,年龄,性别 接下来是以上各列的很多值。我试图单独读取列名称,并将其放在列表中。 我正在使用Dictreader,它给出了正确的细节: 但是我想做的是,我需要使用输入csv自动解析列列表(在上述情况下为“ i”),而不是在列表中进行硬编码。 这给出了一个错误 在行打印行[x]中。我要去哪里错了?是否可以使用Dictreader提取列名称?

  • 我在on文件夹的几个zip文件中有几个csv文件,例如: null zip中的一个csv是这样工作的: 你知道如何优化这个循环吗?

  • 我有一个包含以下列的csv文件: 身份证、姓名、年龄、性别 后面是上述列的许多值。我试图单独阅读列名,并将其放入列表中。 我正在使用Dictreader,这提供了正确的详细信息: 但我想做的是,我需要用输入csv自动解析列列表,而不是在列表中硬编码。 这给出了一个错误 在行打印行[x]中。我哪里做错了?是否可以使用Dictreader获取列名?

  • 我在读取压缩的csv文件时出错。错误如下:“zlib.error:解压缩时错误-3:设置的距离无效” 代码: 我在文件上尝试了Gunzip,它没有任何问题。我使用Gunzip-t。它给rc 0。