我在文件夹中的几个 zip 文件中有几个 csv 文件,例如:
- A.zip(包含 csv1、csv2、csv3)
- B.zip(包含 csv4、csv5、csv6)
在文件夹路径 C:/Folder/
中,当我在文件夹中加载普通 csv 文件时,我使用以下代码:
import glob
import pandas as pd
files = glob.glob("C/folder/*.csv")
dfs = [pd.read_csv(f, header=None, sep=";") for f in files]
df = pd.concat(dfs,ignore_index=True)
此帖关注:Reading csv zipped files in python
zip 中的一个 csv 的工作方式如下:
import pandas as pd
import zipfile
zf = zipfile.ZipFile('C:/Users/Desktop/THEZIPFILE.zip')
df = pd.read_csv(zf.open('intfile.csv'))
知道如何为我优化这个循环吗?
最佳答案
使用 zip.namelist()
获取 zip 中的文件列表
例如:
import glob
import zipfile
import pandas as pd
for zip_file in glob.glob("C/folder/*.zip"):
zf = zipfile.ZipFile(zip_file)
dfs = [pd.read_csv(zf.open(f), header=None, sep=";") for f in zf.namelist()]
df = pd.concat(dfs,ignore_index=True)
print(df)
关于python - 读取压缩在一个文件中的多个 csv 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56786321/