首页 > 解决方案 > 无法在 python 中读取 zipfile 中的 csv

问题描述

我有一个文件夹,里面有几个 zipfile:

A.ZIP, B.ZIP, C.ZIP

它们都使用相同的密码保护,并且都有一个文件,我尝试读取所有 zipfile 以从中获取一个数据帧:

import glob
import pandas as pd
import zipfile
password = b'lordofrings' # Set password
zipfiles = glob.glob(r"C:\..\*.ZIP") # Get list of zip files
zipfiles
zfs = [(zipfile.ZipFile(f), f.split("\\")[-1].split(".")[0] + '.csv') for f in zipfiles]

# Get ZipFile object and csv file name for each zip file
dfs = [pd.read_csv(zf.open(filename, 'r', password), header=None, sep=';') for zf, filename in zfs]

但不知何故,最后一行出现错误:

KeyError:“存档中没有名为 'A.csv' 的项目”

我的错误是什么?

前面的步骤导致:

zfs
[(<zipfile.ZipFile filename='C:\\...\\A.ZIP' mode='r'>,
  'A.csv'), 
 (<zipfile.ZipFile filename='C:\\...\\D.ZIP' mode='r'>,
  'D.csv')]

标签: pythonpandaszip

解决方案


推荐阅读