2010-06-17 3 views
1

파일에 데이터 열을 추가하고 싶습니다.파이썬 - 기존 탭에 구분 된 파일에 열 추가

파일에는 현재 탭으로 구분 된 세 개의 열이 있습니다.

abbd 1234 0.987 
affr 2345 0.465 

나는 길이가 8,800 자로 구성된 목록을 가지고 있습니다.

li = [-1.0099876, 34.87659] 

이 목록을 파일에 네 번째 열로 추가하고 싶습니다.

abbd 1234 0.987 -1.0099876 

주 - 내 파일은 r + 모드로 열려 있습니다.

감사합니다, S의 :-)

내가 MattH와 함께 해요
+2

입력 데이터에서 새 파일을 만든 다음 필요하면 이전 파일을 바꾸는 것이 좋습니다. – MattH

답변

3
import fileinput 

for fl, line in zip(li, fileinput.input(['a.txt'], inplace=True)): 
    print(line.strip() + '\t' + str(fl)) 
1

는 자리에서 작업은 일반적으로 좋은 생각입니다. 대체 방법은 다음과 같습니다.

import itertools 

def add_column(lines, values, column_delimiter="\t"): 
    for line, value in itertools.izip(lines, values): 
     yield line.rstrip() + column_delimiter + str(value) 

li = [-1.0099876, 34.87659] 
for line in add_column(open("a.txt"), li): 
    print line