python - 读取压缩在一个文件中的多个 csv 文件

标签 python pandas csv zip

我在文件夹中的几个 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/

相关文章:

python - 在 Pandas 中根据多个条件过滤 DataFrame

python - 从 Pandas 数据框中删除大量数据

php - 如何使用 sed() 将所有\r\n 替换为不同的行尾转义序列?

php - 将非 ASCII 字符打印到 CSV 文件中

python - 为什么这个信号/槽代码不起作用

python - "Go to definition"和 "package Explorer"的 Pydev 问题

python - centos上用pypyodbc的pandas属性名返回中文

读取.csv : some rows are missing

python - 如何使用列中的 x 轴标签在 pandas 中生成直方图?

python - 使用许多子图改进子图大小/间距