gpt4 book ai didi

python - 逐行读取压缩/放气 (csv) 文件

转载 作者:行者123 更新时间:2023-12-01 04:44:24 28 4
gpt4 key购买 nike

我使用以下生成器以内存高效的方式逐行迭代给定的 csv 文件:

def csvreader(file):
with open(file, 'rb') as csvfile:
reader = csv.reader(csvfile, delimiter=',',quotechar='"')
for row in reader:
yield row`

这非常有效,我能够很好地处理非常大的文件。对于 RAM 有限的小型虚拟机实例来说,几 GB 的 CSV 文件似乎完全没有问题。

但是,当文件变得太大时,磁盘空间就会成为问题。 CSV 文件通常似乎获得非常高的压缩率,这允许我以未压缩大小的一小部分存储文件,但在我可以使用上面的代码处理文件之前,我必须解压缩/膨胀文件,然后运行通过我的脚本。

我的问题:有没有办法构建一个高效的生成器来执行上述操作(给定一个文件,生成 CSV 行作为数组),但通过膨胀文件的某些部分来实现这一点,直到到达换行符,并且然后通过 csv 阅读器运行它,而无需将整个文件压缩/解压缩?

非常感谢您的考虑!

最佳答案

尝试使用gzip

只需将 with open(file, 'rb') as csvfile: 替换为 with gzip.open(file, 'rb') as csvfile: 并添加 在脚本顶部导入 gzip

参见this SO question for more

关于python - 逐行读取压缩/放气 (csv) 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29817831/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com