总大小30GB的多个txt文档如何合并输出成1个HDF5文件

背景:
我现在要处理一些测试数据,总共2500多个txt文档,总大小30G,要合并成一个.HDF5文件。
这些txt数据格式相同,简单处理后第一行是测试通道名,下面是测试数据。
但是每个txt文档通道数量不太一样,我想要最终的结果是所有的txt数据合并到一个表格里,通道无数据的显示为NA。

遇到问题:

我现在是读取每一个txt文档,用pandas写到dataframe里面。然后遍历所有的txt,把生成的每个dataframe 合并成一个总的dataframe里面。再导出hdf5。

但是这么做会导致dataframe越来越大,内存在处理到1G左右时就快爆掉了,运行速度也变得很慢,从最开始的几秒钟处理一个txt变到5分钟。
改如何解决呢?

hd5支持增量方式添加数据,可以解析完一个文件写一次hd5,无需全部读到dataframe之后再写。数据量太大,这样的方式未必一定能行,但值得试一试。另外,ndarray比dataframe效率更高——当然,这不是主要问题。