Python将数据写入hdf5文件

时间:2013-05-20 10:17:11

标签: python hdf5

我想将复杂数据写入(6,31)维数据集。 在第一列中应该有来自第一个输入文本文件的第一个复杂数据,在第二个应该有数据形式的secound input-textilfe ...

import numpy,sys
import h5py as H5


#######################################################

def CreateH5(argv):
    F=H5.File("S12.h5","w")
    dset=F.create_dataset('S11',(6,31),dtype='complex128')

    for arg in argv:
            S11f = numpy.loadtxt(arg,skiprows=3)
            S11fc=S11f[:,1]*numpy.exp(S11f[:,-1]*1j*(180./numpy.pi))

            for i in range(dset):
                    dset[i]=S11fc


if __name__=='__main__':
    CreateH5(sys.argv[1:])

我不知道如何处理for i in range(dset):

1 个答案:

答案 0 :(得分:0)

我不确定你要对你的forloop做什么。我的理解是你有6个文件,每个文件有31个复杂值,你想要数据集中的值吗?

如果是这样,只需枚举argv上的循环并将numpy数组放入数据集中:

for index, arg in enumerate(argv):
    S11f = numpy.loadtxt(arg,skiprows=3)
    S11fc=S11f[:,1]*numpy.exp(S11f[:,-1]*1j*(180./numpy.pi))
    dset[index] = S11fc

但为什么要使用hd5f而不是简单的numpy数组?