2016-12-06 5 views
0

私はどこでもタブでフォーマットされたテキストファイルを持っています。余分なタブがありますのでpythonスクリプトでテキストファイルをフォーマットする

"item1", "item2", "item3", "item4", "item5", "item6", "item7", "item8", .... 

を、私は推測している\tどこでも元に:

 "item1", 
     "item2", 
     "item3", 
     "item4", 
     "item5", 
     "item6", 
     "item7", 
     "item8", 
     .... 

実際には、テキストファイルは次のようになります。ここでは、テキストファイルが現在のように見えるものですファイル。

このリストは、どうにかしてPythonスクリプトで再フォーマットできますか?どのようにこれを行うでしょうか?

答えて

1

ファイルを読み取る場合は、str.stripを使用して行を削除し、同時に新しいファイルに書き込みます。

ストリップは、あなたにも改行を置換しますかラインの左右両側からタブや空白や改行の

with open('input.txt', 'r') as f, open('output.txt', 'w') as fo: 
    for line in f: 
     fo.write(line.strip()) 
     # fo.write(line.strip() + '\n') # use this if wanna retain new line 
1

ファイルが途方もなく大きくない場合は、文字列としてそれを読んで、文字列からタブを削除し、それを書き戻す:

with open(file_name) as infile: 
    replaced = infile.read().replace("\t","") 
with open(another_file, "w") as outfile: 
    outfile.write(replaced) 

ファイルが大きい場合には、との行ずつ、それを読み書き.readline().write()(改行があるものとします)。改行がない場合は、一度にN文字ずつ読み書きして.read(N).write()としてください。どちらの場合も、書き込む前にすべてのタブを空の文字列に置き換えてください。

+0

を取り除くでしょうか? –

関連する問題