我在Python中读取ASCII文件时遇到问题。以下是该文件的示例:http://pastebin.com/CTwwPPKA
我尝试使用numpy的genfromtxt:
data = np.genfromtxt("example.txt")
但是这样我就无法正确阅读日期和时间,因为它们应该是日期时间对象。 另一方面,loadtxt只能读取浮点值,这也是不可接受的。
你能否建议我正确阅读那种文件?
答案 0 :(得分:2)
答案 1 :(得分:2)
你必须在这里使用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)
这里的诀窍是你必须指定dtype
到None
,以便numpy可以自动识别字符串和数字,而默认的dtype
是浮动的。
然后您可以使用datetime.strptime相应地将字符串转换为datetime对象。