gpt4 book ai didi

pandas - 如何读取包含许多 CSV 文件的许多大型 .7z 文件?

转载 作者:行者123 更新时间:2023-12-05 07:25:32 25 4
gpt4 key购买 nike

我有许多 .7z 文件,每个文件都包含许多大型 CSV 文件(超过 1GB)。我如何在 python 中读取它(尤其是 pandas 和 dask 数据框)?我应该将压缩格式更改为其他格式吗?

最佳答案

我相信您应该能够使用

打开文件
import lzma
with lzma.open("myfile.7z", "r") as f:
df = pd.read_csv(f, ...)

严格来说,这是针对 xz 文件格式的,但也可能适用于 7z。如果没有,您将需要使用 libarchive。

要与 Dask 一起使用,您可以使用 dask.delayed 对每个文件执行上述操作。dd.read_csv 直接也允许你指定 storage_options={'compression': 'xz'};然而,在一个文件内 的随机访问充其量可能是低效的,因此您应该添加blocksize=None 以强制每个文件一个分区:

df = dd.read_csv('myfiles.*.7z', storage_options={'compression': 'xz'},
blocksize=None)

关于pandas - 如何读取包含许多 CSV 文件的许多大型 .7z 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54728318/

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