我有一个文件夹里面有几个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)
跟随这篇文章:在Python中读取压缩的 CSV 文件,一个 zip 压缩包中的 CSV 文件可以按照以下方式进行操作:
import pandas as pd
import zipfile
zf = zipfile.ZipFile('C:/Users/Desktop/THEZIPFILE.zip')
df = pd.read_csv(zf.open('intfile.csv'))
你有什么办法可以为我优化这个循环吗?
ZipFile.namelist()
应该会给你一个包含.zip文件内所有文件的列表,因此你可以在for-loop
中使用这个列表来读取.zip中的.csv文件。 - furas