我有多个包含不同类型txt文件的zip文件.
zip1
- file1.txt
- file2.txt
- file3.txt
如何使用pandas在不提取文件的情况下读取这些文件?
我知道如果每个zip有一个文件,我可以使用read_csv的压缩方法,如下所示:
df = pd.read_csv(textfile.zip, compression='zip')
任何关于如何做到这一点的帮助都会很好.
我有多个包含不同类型txt文件的zip文件.
zip1
- file1.txt
- file2.txt
- file3.txt
如何使用pandas在不提取文件的情况下读取这些文件?
我知道如果每个zip有一个文件,我可以使用read_csv的压缩方法,如下所示:
df = pd.read_csv(textfile.zip, compression='zip')
任何关于如何做到这一点的帮助都会很好.
您可以通过ZipFile.open()
到pandas.read_csv()
从打包到多文件zip
的csv文件构造pandas.DataFrame
.
pd.read_csv(zip_file.open('file3.txt'))
.csv
into a dict: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')}