AttributeError:'list'对象没有属性'to_hdf'

问题描述 投票:-1回答:1

我正在运行以下代码,该代码导入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
python hdf5
1个回答
0
投票

DATA是由 - DATA=[]定义的列表,它没有属性to_hdf

你可以找到一些如何使用pandas 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
© www.soinside.com 2019 - 2024. All rights reserved.