2017-12-27 35 views
-1

이 예제에서는 3 개의 텍스트 파일을 가지고 있으며이를 CSV 파일로 변환하고 싶습니다. 하나의 파일에는 할 수 있지만 여러 파일에는 여러 번 코드를 조정 한 후에 오류가 발생합니다. 처음에는 문자열로 카운트를 변환하기 때문에이 특별한 경우 여러 텍스트 파일을 CSV로 변환

import os 
    import glob3 


count =1 
file_name = "COUNT16_DISTRIBUTION" + str(count*1) + ".txt" 

def data_parser(text, dic): 
    for i, j in dic.iteritems(): 
     text = text.replace(i,j) 
    return text 

while count<=3: 
    for count in file_name: 
     inputfile = open(file_name) 
     outputfile = open("COUNT16_DISTRIBUTION" + str(count*1)+ '.csv', 'w') 
     reps = {'"DUT 1"':' ', ' ':' ', ' ':' ' } 
     for i in range(7): inputfile.next() 

     count = count + 1 
     file_name = "COUNT16_DISTRIBUTION" + str(count * 1) + ".txt" 
     for line in inputfile: 
      outputfile.writelines(data_parser(line, reps)) 
    inputfile.close() 
    outputfile.close() 

는 지금은 문제로 실행하고 나중에 내가 증가 및 상태를 확인하기 위해 정수로 사용하고 싶습니다. 이 방법을 개선하기위한 다른 생각이나 방법이나 제안 사항은 없습니까?

+1

'for count in file_name'은'file_name' 문자를 반복하고'count'를 덮어 씁니다. –

+0

for 루프에 대해 다른 변수 이름을 사용하십시오. 'count'는 file_name에있는 글자의 값을 취합니다. – TwoShorts

답변

0

count =1의 파일 수에 사용하는 변수 이름도 for count in file_name:에 file_name을 반복하는 데 사용됩니다. 이 때문에 count은 더 이상 현재 파일 번호가 아니며 file_name 문자를 사용합니다.

for 루프에 다른 변수 이름을 사용해야합니다. 예를 들어, for c in file_name:

+0

감사합니다. 나는 'c'로 카운트를 변경했다. 이제 csv 파일을 만들면 하나의 셀에 2 개의 셀에 값이 포함됩니다. 하나의 셀이 아니라 2 개의 셀에 2 개의 값을 넣을 수있는 것이 있습니까? – anvinder