我有一個來自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