谁能推荐任何用于将大型 CSV 文件转换为 HDF5 格式的命令行工具?
文件转换器:从 CSV 到 HDF5
数据挖掘
CSV
2022-01-22 12:54:06
1个回答
- 第一种方法:在调用中使用append=True
to_hdf:
import numpy as np
import pandas as pd
#filename = '/tmp/test.hdf5'
filename = 'D:\test.hdf5'
df = pd.DataFrame(np.arange(10).reshape((5,2)), columns=['C1', 'C2'])
print(df)
# C1 C2
# 0 0 1
# 1 2 3
# 2 4 5
# 3 6 7
# Save to HDF5
df.to_hdf(filename, 'data', mode='w', format='table')
del df # allow df to be garbage collected
# Append more data
df2 = pd.DataFrame(np.arange(10).reshape((5,2))*10, columns=['C1', 'C2'])
df2.to_hdf(filename, 'data', append=True)
print(pd.read_hdf(filename, 'data'))
- 第二种方法: 您可以附加到HDFStore而不是调用
df.to_hdf:
import numpy as np
import pandas as pd
#filename = '/tmp/test.hdf5'
filename = 'D:\test.hdf5'
store = pd.HDFStore(filename)
for i in range(2):
df = pd.DataFrame(np.arange(10).reshape((5,2)) * 10**i, columns=['C1', 'C2'])
store.append('data', df)
store.close()
store = pd.HDFStore(filename)
data = store['data']
print(data)
store.close()
- 第三种方法: 使用
chunksize参数并将每个块附加到此处回答的 HDF 文件中。
就个人而言,我喜欢第一种和第二种方法。