我的tar.gz zip文件中有几个文件。我只想将其中一个读入pandas数据框。有什么办法吗? 熊猫可以读取gz中的文件。但是,如果gz内有多个文件,似乎无法告诉它专门读取其中一个文件。
将不胜感激。 巴巴克
答案 0 :(得分:2)
要读取任何压缩文件夹中的特定文件,我们只需要提供其名称或位置即可,例如,读取压缩文件夹中的特定csv文件,我们只需打开该文件并读取其内容即可。
from zipfile import ZipFile
import pandas as pd
# opening the zip file in READ mode
with ZipFile("results.zip") as z:
read = pd.read_csv(z.open(z.infolist()[2].filename))
print(read)
这里结果的文件夹结构看起来像,我想阅读test.csv:
$ data_description.txt sample_submission.csv test.csv train.csv
答案 1 :(得分:0)
如果您使用 pardata,则可以在一行中完成:
import pardata
data = pardata.load_dataset_from_location('path-to-zip.zip')['table/csv']
返回的 data
变量应该是 zip 存档中所有 csv 文件的字典。
免责声明:我是 pardata 的主要合著者之一。