2014-02-14 3 views
0

아래와 같이 테이블 열이 있다고 가정하십시오. 이제 열 현명한 데이터를 추출하고 싶습니다. 나는 list.But를 작성하여 데이터 추출을 시도했지만 올바르게 첫 행을 추출하고 있습니다. 두 번째 행 이후 공간이 있습니다. 즉 CEN/4. 아래 코드는 제로 열이 5.0001e-1 양식의 두 번째 행을 포함한다고 생각합니다. 데이터를 올바르게 추출하는 방법은 wise.output이 뒤섞여 있습니다. 이 그런거는 bgeinner을 나는 수행 할 file.How에서와 같이파일에서 그대로 열 데이터를 추출합니다.

0 1 25 CEN/4 -5.000000E-01 -3.607026E+04 -5.747796E+03 -8.912796E+02 -88.3178 
         5.000000E-01 3.607026E+04 5.747796E+03 8.912796E+02  1.6822 

     27   -5.000000E-01 -3.641444E+04 -5.783247E+03 -8.912796E+02 -88.3347 
         5.000000E-01 3.641444E+04 5.783247E+03 8.912796E+02  1.6653 

     28   -5.000000E-01 -3.641444E+04 -5.712346E+03 -8.912796E+02 -88.3386 
         5.000000E-01 3.641444E+04 5.712346E+03 8.912796E+02 


my code is : 
f1=open('newdata1.txt','w') 
L = [] 
for index, line in enumerate(open('Trial_1.txt','r')): 
#print index 
    if index < 0: #skip first 5 lines 
     continue 
    else: 
     line =line.split() 
     L.append('%s\t%s\t %s\n' %(line[0], line[1],line[2])) 


f1.writelines(L) 

f1.close() 



my output looks like this: 
    0 1 CEN/4 -5.000000E-01 -5.120107E+04 
    5.000000E-01 5.120107E+04 1.028093E+04 5.979930E+03  8.1461 

은 내가 원주 데이터를 원하는

답변

0

의 입력 데이터가 귀하의 질문에 표시되는 방식에서 이야기하지만, 필자가 추측하기 어려운 파일은 별도의 컬럼에 탭을 사용하는 경우, 같은 관련 구분과 파이썬의 CSV 모듈을 사용하는 것을 고려한다 :

import csv 
with open('input.csv') as f_in, open('newdata1', 'w') as f_out: 
    reader = csv.reader(f_in, delimiter='\t') 
    writer = csv.writer(f_out, delimiter='\t') 
    for row in reader: 
     writer.writerow(row) 

더 자세한

을위한 python csv module documentation 참조
관련 문제