pythongenfromtext指定一些数据类型,但将其他数据类型留给自动确定

2024-04-29 19:02:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我不明白为什么numpy.genfromtext允许您只指定所有或不指定数据类型。我试图让它对大多数字段执行明显的(默认)操作,但是要指定一些我认为它很难处理的内容。通常,我不知道数据文件中字段的完整列表。
有没有比在文件中加载两次(如下所示)更好的方法呢?在

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)

Tags: namenumpytruetsvnamesnpddprint