如何在子组/ds1下导入组合的CSV文件作为数据集



我正试图将所有CSV文件收集到一个HDF5中,并将它们作为子组ds1下的数据集导入。我尝试了以下代码,但没有得到我想要的:

import h5py
import numpy.random
import os
import glob
import pandas as pd
os.chdir("/root/Desktop/file/data/dataset/ds1")
extension = 'csv'
all_filenames = [i for i in glob.glob('*.{}'.format(extension))]
#combine all files in the list
combined_csv = pd.concat([pd.read_csv(f) for f in all_filenames ])
#export to csv
combined_csv.to_csv( "combined_csv.csv", index=False, encoding='utf-8-sig')
#Create a HDF5 file
xxx3 = "xxx3.h5py";
xxx3 = h5py.File(xxx3, "w");
file=pd.HDFStore('/root/Desktop/file/data/dataset/ds1','w')
IR= xxx3.create_group("/root/Desktop/file/data/dataset/ds1");
XAFS = xxx3.create_group("/root/Desktop/file/data/dataset/ds2");
combined_csv.csv=pd.read_csv('/root/Desktop/file/data/dataset/ds1combined_csv.csv')
file.put('combined_csv.csv',combined_csv.csv,format='table',data_columns=True)
xxx3.close()

我注意到,在上面的代码中,您只在H5文件xxx3中创建组对象。(xxx3.create_group()(

如果您使用NumPy读取数据并使用h5py加载到HDF5中,这就是您的代码所希望的。np.genfromtxt()参数取决于CSV的内容。您可能需要根据您的数据进行调整。

#Create a HDF5 file
import numpy as np
xxx3 = h5py.File("xxx3.h5py", "w");
rec_arr = np.genfromtxt("/root/Desktop/file/data/dataset/ds1combined_csv.csv",delimiter=',' ,names=True,encoding=None)
IR= xxx3.create_dataset("/ds1",data=rec_arr)
xxx3.close()

这里还有另一个例子:所以55576601

最新更新