繁体   English   中英

如何在python中将大型csv文件写入hdf5?

[英]How to write a large csv file to hdf5 in python?

我有一个太大的数据集,无法直接读入内存。 而且我不想升级机器。 从我的阅读来看,HDF5 可能是我的问题的合适解决方案。 但我不确定如何将数据帧迭代写入 HDF5 文件,因为我无法将 csv 文件作为数据帧对象加载。

所以我的问题是如何使用 python pandas 将大型 CSV 文件写入 HDF5 文件。

您可以使用chunksize参数分块读取 CSV 文件并将每个块附加到 HDF 文件:

hdf_key = 'hdf_key'
df_cols_to_index = [...] # list of columns (labels) that should be indexed
store = pd.HDFStore(hdf_filename)

for chunk in pd.read_csv(csv_filename, chunksize=500000):
    # don't index data columns in each iteration - we'll do it later ...
    store.append(hdf_key, chunk, data_columns=df_cols_to_index, index=False)
    # index data columns in HDFStore

store.create_table_index(hdf_key, columns=df_cols_to_index, optlevel=9, kind='full')
store.close()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM