2013-06-20 2 views
1

나는 놀고있는 데이터 파일에서 줄을 분할하려고합니다. This은 원래 누군가의 코드였습니다. '고치려 고'했습니다. 그들은 세미 콜론에서 분리되어 있지만, 실제로 초과 공백을 분할해야한다는 것을 깨달았습니다. 내 문제를 라인 28의 표현식에 골라 냈습니다. 다른 사용자로부터 몇 가지 제안을 시도했지만 정규 표현식 명령을 사용하면 invalid literal for int()이라는 경고 메시지가 나타납니다. 이것은 정규식을 사용하지 않으면 작동하기 때문에 혼란 스럽습니다. 어떤 제안? 감사.문자 또는 공백으로 된 파이썬으로 라인 분할

편집 : 전체 코드 링크 용으로 편집 됨.

답변

5

아니요, 인수가없는 .split은 공백에서 분리되는 유일한 형식입니다.

re.split(r'[\s;]+', text) 
+0

나는 당신의 제안'역 추적 (가장 최근 통화 최종) 시도 후 오류로 받고 있어요 : 에, 파일 "VizierConvert.py", 라인 (28)

이 같은 정규식을 사용하여 s = re.split (r '[\ s;] +', t) 파일 "/usr/lib/python2.7/re.py"167 행을 균등 분할 return _compile (pattern, flags). split (string, maxsplit) TypeError : 예상되는 문자열 또는 버퍼' – Matt

+0

@Matt 당신은't' 파일이 아니라'line'을 나눠야합니다 – jamylak

+0

어, 지금 이걸 얻고 있습니다 ....'File "VizierConvert.py " , 48 행의 ValueError : 밑이 10 인 int()에 대한 리터럴이 올바르지 않습니다. '8.51e-03' ' – Matt