AttributeError:“列表”对象没有属性“ to_hdf”

时间:2018-07-26 14:20:28

标签: python hdf5

我正在运行以下代码,该代码导入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

1 个答案:

答案 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