尝试在python中使用两个文本文件。目标是首先删除包含3或4的所有行。然后,完全删除前6列。我已经想出了如何删除6个coloumns:
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应该完全删除该行)。最后,删除所有奇数列,但不完全删除它们。基本上,删除奇数列并将它们添加到文本文件的末尾(要写入的新文本文件,即 - 所有内容都写入下一个文本文件)。
答案 0 :(得分: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