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

PV8*_*PV8 3 python csv zip pandas

我在文件夹中的几个 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)
Run Code Online (Sandbox Code Playgroud)

接下来是这篇文章: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'))
Run Code Online (Sandbox Code Playgroud)

知道如何为我优化这个循环吗?

Rak*_*esh 7

用于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)
Run Code Online (Sandbox Code Playgroud)