我有一个来自QuickDAQ的tsv文件,有三列200 000个值,我想导入numpy。问题是genfromtxt似乎错过了最后一行。该生产线是没有什么两样的,据我可以看到:numpy.genfromtxt跳过/忽略长tsv文件中的最后一行
In [245]: import numpy as np
In [246]: oompa = np.genfromtxt('C_20k_73_2.tsv',delimiter='\t',usecols=(0,1,2),unpack=True,skip_header=13,dtype=str)
In [248]: oompa[1]
Out[248]:
array(['-0,00884926319122314', '-0,00379836559295654',
'0,000106096267700195', ..., '0,0259654521942139',
'0,0198968648910522', '0,0142784118652344'],
dtype='<U21')
文件已windows风格的换行符,我:那完全不是那么回事的代码
...
0,00232172,0198968648910522 0,0049593448638916
0,00411009788513184 0,0142784118652344 0,00339150428771973
0,00499653816223145 0,00666630268096924 0,00308072566986084
例已经尝试删除这些在vi中,但它没有区别。什么可能会导致genfromtxt这种行为,以及如何处理,最好不用手动编辑tsv文件?
打印文件最后几行的'repr'。这可能会给我们一个线索。 – unutbu
In [270]:repr(foo.readline()) Out [270]:''0,00232172\\ t0,0198968648910522 \\ t0,0049593448638916 \\ n'' In [271]:repr(foo .readline()) Out [271]:'''0,00411009788513184 \\ t0,0142784118652344 \\ t0,00339150428771973 \\''' In [272]:repr(foo.readline()) Out [272 ]:'''0,00499653816223145 \\ t0,00666630268096924 \\ t0,00308072566986084 \\''' 在[273]:repr(foo.readline()) Out [273]:“'\\ t \\ n'' [274]:repr(foo.readline()) 输出[274]:“'\\ t \\ n'” – sjp
这是您所追求的吗? – sjp