python3.5如何直接读取(不先进行解压操作)zip压缩文件中某一个csv格...
发布网友
发布时间:2022-04-27 03:00
我来回答
共2个回答
热心网友
时间:2022-04-18 23:09
import StringIO
import zipfile
filehandle = open("D:/ABC.zip", 'rb')
zfile = zipfile.ZipFile(filehandle)
data = StringIO.StringIO(zfile.read(zfile .namelist()[0]))
reader = csv.reader(data)
在zipfile文档中看了ZipFile对象的read方法,它返回的是字节,不是迭代器。因为csv.reader方法它的参数是需要一个迭代器的。所以你的这段代码过不了:reader=csv.reader(zf.open(cf))
。
热心网友
时间:2022-04-19 00:27
#-*-coding:utf-8-*-
#python3.6运行环境 找一个目录下文本文件,选择压缩好,注意不要直接压缩目录文件
import io
print (dir(io))
from io import StringIO #python3.6运行环境
from zipfile import ZipFile
import csv
filehandle="D:\\dev\\pythonForAnalysisData\\data\\ml-1m(test).zip"
zfile = ZipFile(filehandle)
for fname in zfile.namelist():
reader=zfile.open(fname)
for line in reader:
print(line)