如何使用Python读取zip文件夹中的多个CSV文件
我需要读取zip文件夹中的多个csv文件,并将这些csv中的数据提取到Python中的容器中 我对Python还不熟悉,有一些基础知识,所以详细的解释是可以理解的 提前谢谢如何使用Python读取zip文件夹中的多个CSV文件,python,Python,我需要读取zip文件夹中的多个csv文件,并将这些csv中的数据提取到Python中的容器中 我对Python还不熟悉,有一些基础知识,所以详细的解释是可以理解的 提前谢谢 Sampath要做的第一件事是使用模块打开zip文件。然后从每个存档文件中读取CSV数据,并将其存储在一个容器(如字典)中 以下内容将从zip存档中的每个文件中读取数据,并将其读入由文件名键入的字典中 import zipfile container = {} with zipfile.ZipFile('/path/to
Sampath要做的第一件事是使用模块打开zip文件。然后从每个存档文件中读取CSV数据,并将其存储在一个容器(如字典)中 以下内容将从zip存档中的每个文件中读取数据,并将其读入由文件名键入的字典中
import zipfile
container = {}
with zipfile.ZipFile('/path/to/your/zipfile') as zf:
for name in zf.namelist():
container[name] = zf.read(name)
for name in container:
print("Contents of file {}:".format(name))
print(container[name])
print("============================\n")
您可以选择使用模块处理csv数据。像这样的事情应该让你开始:
import csv
import zipfile
from cStringIO import StringIO
container = {}
with zipfile.ZipFile('/path/to/your/zipfile') as zf:
for name in zf.namelist():
container[name] = csv.reader(StringIO(zf.read(name)))
现在,
container
是一个按文件名键入的字典,其值为csv.reader
对象。以下是如何读取zip中的所有文本:
import zipfile
archive = 'c:\\test\\archive.zip'
def readZip(archive):
zfile = zipfile.ZipFile(archive)
for finfo in zfile.infolist():
ifile = zfile.open(finfo)
lines = ifile.readlines()
return lines
print(readZip(archive))
谢谢你的帮助
除了上面提供的代码外,我还提出了一个满足问题的代码
import os
import csv
from zipfile import ZipFile
#Extracts and loads the files in a zip file to a specified destination
ze = ZipFile(open("Src_AdventureWorks_Files.zip","r"))
ze.extractall("/home/sreddi/workspace/DQAS_Main/Src_AdventureWorks_Files/")
print "Extraction successful"
#Meta data of the zipfile
zf = ZipFile('Src_AdventureWorks_Files.zip', 'r')
zc = zf.namelist()
print zc
#Loop to run each csv file and print the data
if __name__ == "__main__":
i=0
while i < len(zc):
#path = '/home/sreddi/workspace/DQAS_Main/Src_AdventureWorks_Files/'+zc[i]
#print path
print zc[i]
for csv_path in zc:
print "###########"
print zc[i]
print "###########"
os.chdir('/home/sreddi/workspace/DQAS_Main/Src_AdventureWorks_Files')
f = open(zc[i])
csv_f = csv.reader(f)
for row in csv_f:
print row
f.close()
i += 1
导入操作系统
导入csv
从zipfile导入zipfile
#提取zip文件中的文件并将其加载到指定的目标
ze=ZipFile(打开(“Src_AdventureWorks_Files.zip”、“r”))
提取所有文件(“/home/sreddi/workspace/DQAS\u Main/Src\u AdventureWorks\u Files/”)
打印“提取成功”
#zipfile的元数据
zf=ZipFile('Src_AdventureWorks_Files.zip','r')
zc=zf.namelist()
打印zc
#循环运行每个csv文件并打印数据
如果名称=“\uuuuu main\uuuuuuuu”:
i=0
而i
请与我们分享您的尝试?