Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 属性错误:';列表';对象没有属性';至hdf&x27;_Python_Hdf5 - Fatal编程技术网

Python 属性错误:';列表';对象没有属性';至hdf&x27;

Python 属性错误:';列表';对象没有属性';至hdf&x27;,python,hdf5,Python,Hdf5,我正在运行以下代码,该代码导入csv文件并将所有数据附加到单个数据数组中。但在将该数组存储到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, f

我正在运行以下代码,该代码导入csv文件并将所有数据附加到单个数据数组中。但在将该数组存储到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

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

您可以找到一些如何使用pandas
HDFStore

你可能需要像这样的东西-

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

对我来说有道理<代码>数据是一个列表,而列表没有
to_hdf
方法。顺便说一句,我注意到熊猫数据帧确实有一个
to_hdf
方法。也许可以尝试在数据帧上调用它?通过行
DATA.to_hdf('STORE.h5','table',append=True)
,您试图实现什么?数据是一个列表,因此它没有此属性。您不想在
store.to_hdf(DATA)
的行中添加一些内容吗?