当前位置: 首页 > 面试题库 >

使用pandas读取zip文件中包含的多个文件

段良弼
2023-03-14
问题内容

我有多个包含不同类型的txt文件的zip文件。如下所示:

zip1 
  - file1.txt
  - file2.txt
  - file3.txt

如何使用pandas读取每个文件而不提取它们?

我知道每个zip文件是否为1个文件,我可以对read_csv使用压缩方法,如下所示:

df = pd.read_csv(textfile.zip, compression='zip')

任何有关如何执行此操作的帮助都将非常有用。


问题答案:

你可以传递ZipFile.open()pandas.read_csv()构建pandas.DataFrame从包装成一个多文件一个CSV文件zip

码:

pd.read_csv(zip_file.open('file3.txt'))

将所有内容读.csv入字典的示例:

from zipfile import ZipFile

zip_file = ZipFile('textfile.zip')
dfs = {text_file.filename: pd.read_csv(zip_file.open(text_file.filename))
       for text_file in zip_file.infolist()
       if text_file.filename.endswith('.csv')}


 类似资料:
  • 我有一个文件。 使用Pandas,从这个文件中获得两个DataFrame和的最佳策略是什么? 输入如下所示: 到目前为止,我想到的最好的方法是转换这个文件转换为Excel工作簿(),将表格拆分为工作表并使用: 然而: 这种方法需要模块。 这些日志文件必须被实时分析,这样就可以更好地找到一种方法来分析它们,因为它们来自日志。 真正的日志比那两个有更多的表。

  • 本文向大家介绍利用Pandas读取文件路径或文件名称包含中文的csv文件方法,包括了利用Pandas读取文件路径或文件名称包含中文的csv文件方法的使用技巧和注意事项,需要的朋友参考一下 利用Pandas的read_csv函数导入数据文件时,若文件路径或文件名包含中文,会报错,无法导入: 解决方法如下: 以上这篇利用Pandas读取文件路径或文件名称包含中文的csv文件方法就是小编分享给大家的全部

  • 问题内容: 我是Java的新手,我正在尝试在Jar文件中获取一个文本文件。 在执行jar的那一刻,我必须将文本文件与jar fil放在同一文件夹中。如果文本文件不存在,我会得到一个,我想避免。 我想做的是在罐子里获取txt文件,这样我就不会遇到这个问题。我尝试了一些指南,但它们似乎没有用。我当前的读取功能如下: 问题答案: 不要尝试在Jar文件中将文件作为“文件”查找。改用资源。 获取对类或类加载

  • 问题内容: 我正在尝试使用php创建一个zip文件(确实如此-从此页面获取-http://davidwalsh.name/create-zip- php ),但是zip文件中的所有文件夹名称都是文件本身。 可以将zip文件中的文件减去所有文件夹吗? 这是我的代码: 问题答案: 这里的问题是要传递相同的两个参数。 根据文档: bool ZipArchive :: addFile (字符串 $ fil

  • 我想使用一个BufferedReader对象从两个或多个文件中读取文本。

  • 问题内容: 我的情况是我有一个包含一些文件(txt,png,…)的zip文件,我想直接按它们的名称读取它,我已经测试了以下代码,但没有结果(NullPointerExcepion): resources 是一个包, zipfile 是一个zip文件。 问题答案: 如果您可以确定您的zip文件永远不会打包在另一个jar中,则可以使用以下方法: 要么: 否则,您的选择是: 使用ZipInputStre