2013-05-20 6 views
1

이 형식 (a, b, c, d, e)과 같은 수천 줄의 텍스트 파일이 있습니다 (여기서 a는 6 자리 숫자, b는 3 자 코드, c는 date , d는 부동 소수점이고 e는 -1, 0 또는 1)이 형식 (b, c, d)으로 다시 스타일을 지정하려고합니다. 예 : ('ABC', '2010-01-01', 0.123, '-1') => ('ABC', '2010-01-01', 0.123)텍스트를 파이썬으로 다시 작성

어디서부터 시작해야할지 모르겠다. ? 파이썬에서 내가 변수에 라인을 할당했다면 무엇을해야 하는가? 쪼개지거나 다른 것?

내가 너무 펄에 대한 몇 가지 지식을 가지고, 그래서 랭 가문 twlo 이들의 어떤 도움도 인정 될 것이다 -))

text = open('text.txt', 'w') 

for line in text: 
    # 
    # 
    # 
+0

피험자가 python을 말할 때 왜'perl' 태그가 포함되어 있습니까? –

답변

2

분할 선은 2,3,4 위치에서 값을 가지고, 그 주위에 ()을 넣어.

perl -F'[,\s\(\)]+' -ape '$_ = join ", ", @F[2,3,4]; $_ = "($_)"' text.txt 
0

당신은이 라인을 따라 뭔가가 필요합니다 : -

for line in text: 
    line = line.strip('()') 
    fields = line.split(',') 
    print "(%s,%s,%s)" % (fields[1], fields[2], fields[3]) 

시스템과 같은 유닉스 환경이라면 sed 나 awk를 똑같이하는 라이너 하나로 생각할 수 있습니다.

3

이와 비슷한? ,\s() 문자 클래스에 의해

import ast 
with open("in.txt") as infile, open("out.txt", "w") as outfile: 
    for line in infile: 
     contents = ast.literal_eval(line) 
     outfile.write(str(contents[1:4])) 
+0

Damnit. 그냥 날 때려. – TerryA

0
for line in text 
    s = line.split(',') 
    print("({0},{1},{2})".format(s[1], s[2], s[3])) 
관련 문제