如何使用压缩文件夹中的CSV文件?

2024-05-16 08:35:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我第一次在python中使用压缩文件,我很困惑。在

我阅读了zipfile的文档,但是我不确定什么是实现我正在尝试的最佳方法。我有一个压缩文件夹,里面有CSV文件,我希望能够打开zip文件,并从里面的CSV文件中检索某些值。在

我用吗zipfile.提取物(此处为文件名)将其放入当前工作目录?如果我这样做,我是用文件名来处理文件,还是用不同的索引或列表?在

目前,我手动将压缩文件夹中的所有文件解压到项目的当前工作目录中,然后使用csv模块读取它们。我真正想做的就是去掉这一步。在

任何和所有的帮助将不胜感激!在


Tags: 文件csv项目方法文档目录文件夹列表
1条回答
网友
1楼 · 发布于 2024-05-16 08:35:54

您希望避免解压到磁盘,在zip docs for python中有一个ZipFile.open(),它提供了一个类似文件的对象。这个对象的行为与磁盘上的常规文件类似,但它在内存中。它在读取时提供一个字节数组,至少在py3中是这样。在

像这样。。。在

from zipfile import ZipFile
import csv


with ZipFile('abc.zip') as myzip:
    print(myzip.filelist)
    for mf in myzip.filelist:
        with myzip.open(mf.filename) as myfile:
            mc = myfile.read()
            c = csv.StringIO(mc.decode())
            for row in c:
                print(row)

Python的文档实际上是相当好的,一旦你学会了如何查找东西以及文档中使用的一些基本编程术语/描述。 由于某些原因,csv.BytesIO没有实现,因此需要通过csv.StringIO执行额外的步骤。在

相关问题 更多 >