文件转换器:从 CSV 到 HDF5

数据挖掘 CSV
2022-01-22 12:54:06

谁能推荐任何用于将大型 CSV 文件转换为 HDF5 格式的命令行工具?

1个回答
  • 第一种方法:在调用中使用append=Trueto_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 文件中。

就个人而言,我喜欢第一种和第二种方法。