1

Pythonで2つのテキストファイルを操作しようとしています。目標は、最初に3または4を含むすべての行を削除することです。その後、最初の6列を完全に削除します。私は6つの列を削除する方法を理解しました:

f = open("filename.txt", "r")
g = open("filename1.txt", "w")

for line in f:
    if line.strip():
        g.write("\t".join(line.split()[6:]) + "\n")
f.close()
g.close()

ただし、繰り返し文字/出現箇所に基づいて行を削除する方法がわかりません(この場合、行に表示される数字3または4は、その行を完全に削除する必要があります)。そして最後に、すべての奇数列を削除しますが、完全に削除するわけではありません。基本的に、奇数列を削除して追加し、テキストファイルの最後に追加します(書き込む新しいテキストファイル、つまり、すべてが次のテキストファイルに書き込まれます)。

4

1 に答える 1

1
lines = [line.strip() for line in open('file.txt')]
nlines=[]
for line in lines:
    if 3 not in map(int,line.split()) and 4 not in map(int,line.split()): nlines.append(line)
for x in nlines:
    y=x.split()
    y=y[1::2]
    print ' '.join(y)

file.txt

3 4 5 6 7 12 34 56
2 5 6 7 8 11 10 7
4 5 6 7 8 44 55 12
33 66 88 99 79 1 2 5

3または4を含む行を削除し、奇数列を削除する

出力

5 7 11 7
66 99 1 5
于 2013-02-18T04:40:58.950 に答える