将数百个csv文件转换为hdf5文件

问题描述 投票:0回答:1

我为这个问题找到了很多答案,但没有找到我想具体做的事情。我有很多csv文件,有些行超过200mo,总共约70Go的数据,我想将它们转换为hdf5文件。

我找到了创建大数据框并将它们全部连接在一起的方法,但是使用此处显示的解决方案,我的数据太大而无法容纳单个数据框。https://datascience.stackexchange.com/questions/53125/file-converter-from-csv-to-hdf5

我正在尝试对每个文件执行1个数据帧的操作,然后将它们全部转换为hdf5文件,以使我拥有相同数量的h5文件和csv,但我不知道这是正确的解决方案,因为我没有认为我的计算机可以将所有这些信息保存在内存中。

类似于在另一个SO线程上发现的东西,可以在转换之前将所有csv放在一个数据帧中:

from os import listdir

filepaths = [f for f in listdir("./data") if f.endswith('.csv')]
df = pd.concat(map(pd.read_csv, filepaths))

由于文件过多/太重而无法使用。

如果您知道其他解决方案,请帮助,

谢谢

python pandas data-science hdf5
1个回答
0
投票

不使用列表理解。只需使用一个读取,转换和写入每个文件的循环,这样就不会得到太多文件或内存不足。

编辑1:执行类似操作:

for f in listdir("./data"):
    if f.endswith('.csv'):
        pd.read_csv(f).to_hdf(...)

看看这个link

© www.soinside.com 2019 - 2024. All rights reserved.