0
我的csv文件(K2CsSb DOS135.csv)是非常簡單的,如:genfromtxt進口數據
-7.21E+00 1.34E-01
-7.16E+00 1.15E-01
-7.13E+00 0.00E+00
-7.10E+00 0.00E+00
-7.07E+00 0.00E+00
而且我用genfromtxt導入此文件,如:
dosdata = genfromtxt('K2CsSb DOS135.csv',delimiter=',')
如果我print(dosdata)
,它顯示我:
[[-7.21 0.134]
[-7.16 0.115]
[-7.13 0. ]
...,
我用這2D陣列數據用於numpy的interp1d。
一切都看起來很完美。 csv文件在WINDOWS的MS Excel中編輯。
現在我正在使用MAC OS X並使用mac MS excel編輯這個文件只剪切粘貼,不改變數據類型。然後當我像以前一樣導入此文件並打印。在我展示錯誤: [-7.21楠楠楠楠楠楠] F = interp1d(數據[:,0],數據[:,1]) IndexError:用於陣列 太多指數如果我加入dosdata = genfromtxt('K2CsSb DOS135.csv',delimiter=',',dtype=None)
外貌是一個tur像:
(-7.21, b'1.30E-01\r-7.16E+00', b'1.20E-01\r-7.13E+00', b'0.00E+00\r-7.10E+00', b'0.00E+00\r-7.07E+00')
爲什麼發生這種情況,以及如何解決它?
我不清楚這是否可以解決您的問題,但由於您的文件不使用逗號作爲分隔符,因此不要在'genfromtxt'中使用參數'delimiter ='。 –
添加此** defaultfmt =「%f」** – dsgdfg
該MAC'\ r'(CR)似乎給DOS版本問題。 DOS使用(LF/CR),UNIX(LF)。我有點驚訝,'delimiter =',''起作用,因爲你沒有'''在文件中。 – hpaulj