2017-12-27 58 views
-1

この例では3つのテキストファイルがあり、CSVファイルに変換したいと考えています: 1つのファイルでも複数のファイルでもできますが、コードを何度も微調整した後、この特定のケースで複数のテキストファイルを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ファイルを作成すると、1つのセルが2つのセルにする必要があります値が含まれています。 1つのセルではなく2つのセルに2つの値を入れるために何かできることはありますか? – anvinder