2011-09-21 7 views
1

파이썬에서 ASCII 파일을 읽는 데 문제가 있습니다. 내가 NumPy와의 genfromtxt를 사용하여 시도 http://pastebin.com/CTwwPPKA파이썬에서 ASCII 파일 읽기 (numpy-array?)

: 다음은 파일의 예

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

는하지만 그들은 날짜 개체를해야하기 때문에이 방법으로 나는 제대로 날짜와 시간을 읽을 수 없습니다. 반면에, loadtxt는 float 값만 읽을 수 있으며 허용되지 않습니다.

저 종류의 파일을 올바르게 읽는 방법을 제안 해 주시겠습니까?

답변

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) 

여기에 트릭 얻을 것이다는 기본 dtype 플로트있을 때, 그래서 NumPy와 자동으로 문자열과 숫자를 인식 할 수 dtypeNone에 지정해야한다는 것입니다.

그런 다음 을 사용하여 문자열을 datetime 개체로 적절하게 변환 할 수 있습니다.

+0

감사합니다. 도움이되었습니다. – abudis

2

방언으로 csv.reader()을 사용하고 싶습니다.

Examples of csv usage

+0

문제는 파일에 탭과 공백 구분 기호가 모두 있다는 것입니다. – abudis

+1

붙여 넣은 것에 따르지 않습니다. –