1

我不明白为什么 numpy.genfromtext 允许您仅指定全部或不指定任何 dtypes。我试图让它为大多数领域做明显的(默认)事情,但要指定一些我认为它会遇到困难的事情。一般来说,我不知道我的数据文件中的完整字段列表。
有没有比两次加载文件更好的方法,如下所示?

dtypeoverrides={'textfield':'a20','anotherTrickyfield':'a10','nonexisting field':'a1'}
tsv='inputfile.tsv'

indata=np.genfromtxt(tsvF, delimiter='\t',names=True,dtype=None)

if dtypeoverrides:
   dd=indata.dtype
   print dd
   dd=[(name,dtypeoverrides.get(name,dd[name])) for name in dd.names]
   print dd
   indata=np.genfromtxt(tsvF, delimiter='\t',names=True,dtype=dd)
4

0 回答 0