读取 zip 中的所有 csv 文件,并将各自的 csv 文件名作为数据帧变量名

时间:2021-04-08 18:45:21

标签: python pandas csv zipfile

我需要从 zip 文件夹中读取所有 CSV 文件,以便将每个文件读入一个单独的数据帧,并且数据帧名称与 CSV 文件的名称相同。以下是我到目前为止所做的,我很难将文件读取分配给文件名。非常感谢任何帮助!

import os
import zipfile

csvNameList = []
with zipfile.ZipFile('../data/999915.zip') as z:
    for filename in z.namelist():
        csvNameList.append(filename.split(".")[1])
        df_name = filename.split(".")[1]
        df_name = pd.read_csv(z.open(filename),
                              header=None, 
                              sep='\|\|@@##', 
                              na_values='\\N')

我希望能够将 CSV 引用为存储在 csvNameList 变量中的名称的数据框。

1 个答案:

答案 0 :(得分:1)

这将创建一个数据框字典:

with zipfile.ZipFile('../data/999915.zip') as z:
    dataframes = {filename.split(".")[1]: pd.read_csv(z.open(filename),header=None,sep='\|\|@@##',na_values='\\N') for filename in z.namelist()}