python 2将h5文件数据创建到python 3中

python 2将h5文件数据创建到python 3中,python,python-3.x,python-2.7,hdf5,Python,Python 3.x,Python 2.7,Hdf5,我正在将一些代码从Python2(2.7)传输到Python3(3.7或更高版本) 但是,这段代码读取一个h5文件,该文件是由python 2.7中的代码创建的。这段代码也将被传输到Python3,但我不会。我需要h5文件中的数据来检查转换到python 3的工作是否正常(内部数据是一个dataframe) 因此,我正在寻找一个技巧(使用Python2或Python3)来将这个h5文件转换成我可以用Python3读取的东西。它不需要是一个简洁的解决方案,因为它只是暂时的 数据相当大。所以我最终要

我正在将一些代码从Python2(2.7)传输到Python3(3.7或更高版本)

但是,这段代码读取一个h5文件,该文件是由python 2.7中的代码创建的。这段代码也将被传输到Python3,但我不会。我需要h5文件中的数据来检查转换到python 3的工作是否正常(内部数据是一个dataframe)

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


数据相当大。

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

然后,我使用Python3脚本读取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')

所以结果很简单。希望这个asnwer能帮助那些被困在同一个环境中的人。

为什么不坚持使用
h5py
,它可以同时使用Python 2和3?如果您真的想要不同的文件格式,可以查看
numpy.save()
。我不确定您的意思,但我的问题是python 2中的unicode创建h5,这在python 3中的工作方式不同。然而,我发现了一个对我有效的技巧,我将添加它作为答案