2014-11-17 3 views
0

텍스트 파일을 사용하고 .split 메서드를 사용하여 텍스트 파일을 분할하여 각 줄을 청크로 해석하는 프로그램을 작성하려고합니다.둘 이상의 방법으로 텍스트 파일에서 목록 나누기

다음과 같은 줄을 나눠 보려고합니다 : 4-Jan-72 다음에 탭이 있고 그 다음에 float이옵니다. 나는 '-'와 탭이 사라지도록 그것을 분할하려고합니다. '\ t'을 사용하여 탭을 분할하라는 지시를 받았지만 두 줄을 모두 사용하는 방법을 모르겠습니다.

line = rain_file.readline().strip().split("-",'\t') 

현재이 오류는 내 오류로 처리됩니다. 당신이 뭔가를 원하는 것처럼

line = rain_file.readline().strip().split("-",'\t') 
TypeError: 'str' object cannot be interpreted as an integer 
+0

[docs] (https://docs.python.org/2/library/stdtypes.html#str.split)를 읽으십시오. 두 번째 인수는'maxsplit'이어야합니다. – jonrsharpe

+0

분할되지 않은 정규 표현식을 사용해야합니다. –

+0

예상 출력과 함께 예제를 제공 할 수 있습니까? –

답변

0

이 보인다

파일 file.txt 포함

입력,

foo 
4-Jan-72 10.5678 
bar 

코드 :

#!/usr/bin/python3 
import re 
with open('file.txt', 'r') as f: 
    for line in f: 
     if re.match(r'\d+-[A-Z][a-z]+-\d+\b', line): 
      line = re.sub(r'\t.*|-', r'', line) 
      print(line, end='') 
     else: 
      print(line, end='') 

출력 :

foo 
4Jan72 
bar