首页 > 解决方案 > python 2 创建 h5 文件数据到 python 3

问题描述

我正在将一些代码从 python 2 (2.7) 转移到 python 3 (3.7 或更高版本)

然而,这段代码读取了一个由 py​​thon 2.7 中的代码创建的 h5 文件。这段代码也将被转移到 python 3,但不是我的。我需要 h5 文件中的数据来检查我端到 python 3 的转换是否正常工作(内部数据是 pandas 数据框)。

因此,我正在寻找一种技巧(使用 python 2 或 python 3)将此 h5 文件转换为我可以使用 python 3 读取的文件。它不需要是一个简洁的解决方案,因为它只是暂时的。

数据相当可观。

标签: pythonpython-3.xpython-2.7hdf5

解决方案


所以我最终做的是使用python 2读取h5并将其存储为json(h5中的每个键一个)

然后我使用 python 3 脚本读取 json 并将它们再次存储为 h5 文件

(in python 2)
foo = pandas.read_hdf('file.h5', key='bla', mode='r')
foo.to_json('file.json')

(in python 3)
foo = pandas.read_json('file.json')
foo.to_hdf('file2.h5', key='bla', mode='w')

所以它最终变得更加简单。希望这个答案能帮助那些被困在同一问题上的人。


推荐阅读