Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Python读取zip文件夹中的多个CSV文件_Python - Fatal编程技术网

如何使用Python读取zip文件夹中的多个CSV文件

如何使用Python读取zip文件夹中的多个CSV文件,python,Python,我需要读取zip文件夹中的多个csv文件,并将这些csv中的数据提取到Python中的容器中 我对Python还不熟悉,有一些基础知识,所以详细的解释是可以理解的 提前谢谢 Sampath要做的第一件事是使用模块打开zip文件。然后从每个存档文件中读取CSV数据,并将其存储在一个容器(如字典)中 以下内容将从zip存档中的每个文件中读取数据,并将其读入由文件名键入的字典中 import zipfile container = {} with zipfile.ZipFile('/path/to

我需要读取zip文件夹中的多个csv文件,并将这些csv中的数据提取到Python中的容器中

我对Python还不熟悉,有一些基础知识,所以详细的解释是可以理解的

提前谢谢
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
请与我们分享您的尝试?