我想将复杂数据写入(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):
答案 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数组?