我正在运行以下代码,该代码导入csv文件并将所有数据附加到单个DATA数组中。但是在将该数组存储到HDF5时,我不断收到错误AttributeError:'list'对象没有属性'to_hdf'。 请帮助我了解我所缺少的。
import pandas as pd
import h5py
import glob
import os
path = "Z:\Test Data"
def get_CSV_files(path):
results = []
for root, dirs, files in os.walk(path):
for file in files:
fileExt=os.path.splitext(file)[-1]
if fileExt.lower() == '.csv':
results.append(os.path.join(root, file))
for directory in dirs:
results += get_CSV_files(os.path.join(root, directory))
return results
def store_all_data_hdf5(path):
files = get_CSV_files(path)
DATA=[]
for file_name in files:
data = pd.DataFrame.from_csv(file_name, sep="\t")
DATA.append(data)
store = pd.HDFStore('STORE.h5')
DATA.to_hdf('STORE.h5','table', append=True)
store.close()
return DATA
答案 0 :(得分:0)
DATA是您通过-DATA=[]
定义的列表,并且没有属性to_hdf
。
您可以找到有关如何使用熊猫HDFStore
here
您可能需要类似-
def store_all_data_hdf5(path):
files = get_CSV_files(path)
DATA=[]
store = pd.HDFStore('STORE.h5')
for file_name in files:
data = pd.DataFrame.from_csv(file_name, sep="\t")
DATA.append(data)
store.put('my_file', data, append=True)
store.close()
return DATA