0

テキストファイルからスペースを削除するためのjythonコードを書き込もうとしています。次のシナリオがあります。私は次のようなテキストファイルを持っています

STARTBUR001 20120416
20120416MES201667 20120320000000000201203210000000002012032200000000020120323000000000201203240000000002012032600000000020120327000000000201203280000000002012032900000000020120330000000000


20120416MES202566 2012030500000000020120306000000000201203070000000002012030800000000020120309000000000201203100000000002012031100000000020120312000000000201203130000000002012031400000000020


20120416MES275921 20120305000000000201203060000000002012030700000000020120308000000000201203090000000002012031000000000020120311000000000201203120000000002012031300000000020120314000000000

END 0000000202

ここでは、すべての行が1行です。しかし、私が欲しいのは

STARTBUR001 20120416
20120416MES201667 20120320000000000201203210000000002012032200000000020120323000000000201203240000000002012032600000000020120327000000000201203280000000002012032900000000020120330000000000
20120416MES202566 2012030500000000020120306000000000201203070000000002012030800000000020120309000000000201203100000000002012031100000000020120312000000000201203130000000002012031400000000020
20120416MES275921 20120305000000000201203060000000002012030700000000020120308000000000201203090000000002012031000000000020120311000000000201203120000000002012031300000000020120314000000000
END 0000000202

したがって、全体として、2行目からENDに遭遇するまでチェックを開始し、各行の最後にあるすべてのスペースを削除したいと思います。

誰かがこのコードを書くために私を導くことができますか?

次のように試しました:

srcfile=open('d:/BUR001.txt','r')
trgtfile=open('d:/BUR002.txt','w')
readfile=srcfile.readline()
while readfile:
    trgtfile.write(readfile.replace('\s',''))
    readfile=srcfile.readline()
srcfile.close()
trgtfile.close()

ありがとう、マヘシュ

4

1 に答える 1

0

これらの特別な行が特別な値で始まるという事実を使用できます。

line = srcfile.readline()
while line:
    line2 = line
    if not line2.startswith('START') and not line2.startswith('END'):
        line2 = line2.replace(' ','')
    trgtfile.write(line2)
    line = srcfile.readline()

readline()また、結果の文字列が で終わる(または入力ファイルの末尾が空である) ことに注意してください\n。このコードは、行末のスペースだけでなく、すべてのスペースを行から削除します。

私があなたの例を理解していれば、空の行を削除するだけなので、ファイルを1行ずつ読むのではなく、一度に読んでください:

content = srcfile.read()

次に、コンテンツから空行を削除します。

while '\n\n' in content:
    content = content.replace('\n\n', '\n')
于 2012-04-17T08:47:02.817 に答える