2011-09-21 93 views
1

我在Python中讀取ASCII文件時出現問題。下面是該文件的一個例子:http://pastebin.com/CTwwPPKA在Python中讀取ASCII文件(numpy-array?)

我試着用numpy的的genfromtxt:

data = np.genfromtxt("example.txt") 

不過這樣一來,我不能閱讀的日期和時間正確,因爲他們應該是datetime對象。 另一方面,loadtxt只能讀取浮點值,這也是不可接受的。

你能否建議我一種正確閱讀那種文件的方法?

回答

1

你必須在這裏使用dtype選項。

x = np.genfromtxt("example.txt", dtype=None) 
print(x[0]) 

,你會得到

('DATA', 34967565, '2011-08-04', '19:00:00:081', 0.0272448, -0.17718500000000001, 4.2143899999999999, 524.57600000000002, 17.485499999999998, 101.07599999999999, 0.45927400000000002, 0.19031300000000001, 0.100296, 0.97492599999999996, 1.94354, 100.73399999999999, 12.538600000000001, 10.3786, 44318.5, 39605.5, 39234.5, 40298.0, 68) 

這裏的技巧是,你必須指定dtypeNone使numpy的可以自動識別字符串和數字,而默認dtype是浮動。

然後,您可以使用將字符串轉換爲相應的日期時間對象。

+0

謝謝!這有幫助。 – abudis