将CSV合并到pandas中的HDF5会导致崩溃

时间:2015-08-12 22:10:00

标签: python pandas hdf5

我有大约700 CSV个文件。它们通常都是几兆和几千行。所以,总文件夹大约是1gig。我想将它们合并到一个HDF5文件中。

我首先定义了一个函数read_file(file),它读取单个文件,并使用pd.read_csv()对其进行解析。然后它返回一个数据帧。

然后我使用此代码转换:

    for file in files:
         print (file + " Num: "+str(file_num)+" of: "+str(len(files)))
         file_num=file_num+1
         in_pd=read_file(file)
         in_pd.to_hdf('AllFlightLogs.h5','flights',mode='a',append=True)

而且,它适用于大约202个文件,然后python崩溃:Abort trap: 6 我不知道这个错误意味着什么。我也看到它弹出一个显示堆栈错误的窗口。

我尝试使用complib='lzo',但似乎没有任何区别。我已经尝试每100次读取保存到不同的hdf5文件,这确实会在崩溃之前更改文件的确切数量。但是,它仍然会发生。

对于该特定文件,似乎没什么特别之处。反正有没有找到关于这个特定错误的任何其他内容?我知道当我尝试调用in_pd.to_hdf()时发生崩溃(我在之前和之后添加了print语句)。

我正在Mac上运行,并使用pandas 16.2

2 个答案:

答案 0 :(得分:1)

我升级到3.2.1,似乎已修复它。所以,这对我的代码来说不是问题(这让我发疯了),但这是一个pytables问题。

答案 1 :(得分:0)

Adam's answer solved my problem on my imac. But as of 1sep15, while pytables is available for linux and osx, it is still not for Windows - I use the Anaconda distribution (very good in every other respect). Does anybody know why ? Is there a specific reason for that ?