Загрузите непосредственно GZ-файл в Pandas dataframe

У меня есть это файл gz от дати.истат.это: внутри это файл csv (с другим именем), который я хочу загрузить непосредственно в Pandas dataframe.

Если я распаковать с 7zip я легко загрузить с этим кодом pd.read_csv("DCCV_OCCUPATIT_Data+FootnotesLegend_175b2401-3654-4673-9e60-b300989088bb.csv", sep="|", engine = "python")

Как я могу это сделать без распаковки с помощью 7zip frist?

thx много!

1 ответов


вы можете использовать библиотеку zipfile:

import pandas as pd
import zipfile

z = zipfile.ZipFile('test/file.gz')
print pd.read_csv(z.open("DCCV_OCCUPATIT_Data+FootnotesLegend_175b2401-3654-4673-9e60-b300989088bb.csv"),
                  sep="|",
                  engine = "python")

панды поддерживает только gzip и bz2 на read_csv:

сжатие: {'gzip’,’ bz2‘,’ infer', None}, по умолчанию ‘infer'

для декомпрессии на лету данных на диске. Если ' infer’, то используйте gzip или bz2, если filepath_or_buffer-строка, заканчивающаяся на ‘.gz 'or'.bz2', соответственно, и никакой декомпрессии в противном случае. Значение None не декомпрессия.