python中如何删除文本中指定的列
1、删除第一列
[root@PC1 test3]# ls a.txt test.py [root@PC1 test3]# cat a.txt 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 [root@PC1 test3]# cat test.py #!/usr/bin/python in_file = open("a.txt", "r") out_file = open("result.txt", "w") lines = in_file.readlines() for i in lines: i = i.split()[1:] out_file.write(" ".join(i)) out_file.write("\n") in_file.close() out_file.close() [root@PC1 test3]# python test.py [root@PC1 test3]# ls a.txt result.txt test.py [root@PC1 test3]# cat result.txt 02 03 04 05 06 07 08 09 10 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 29 30 32 33 34 35 36 37 38 39 40
2、删除第6列
[root@PC1 test3]# ls a.txt test.py [root@PC1 test3]# cat a.txt 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 [root@PC1 test3]# cat test.py #!/usr/bin/python in_file = open("a.txt", "r") out_file = open("result.txt", "w") lines = in_file.readlines() for i in lines: i = i.split()[:5] + i.split()[6:] out_file.write(" ".join(i)) out_file.write("\n") out_file.close() [root@PC1 test3]# python test.py [root@PC1 test3]# ls a.txt result.txt test.py [root@PC1 test3]# cat result.txt 01 02 03 04 05 07 08 09 10 11 12 13 14 15 17 18 19 20 21 22 23 24 25 27 28 29 30 31 32 33 34 35 37 38 39 40
3、删除1-4列
[root@PC1 test3]# ls a.txt test.py [root@PC1 test3]# cat a.txt 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 [root@PC1 test3]# cat test.py #!/usr/bin/python in_file = open("a.txt", "r") out_file = open("result.txt", "w") lines = in_file.readlines() for i in lines: i = i.split()[4:] out_file.write(" ".join(i)) out_file.write("\n") in_file.close() out_file.close() [root@PC1 test3]# python test.py [root@PC1 test3]# ls a.txt result.txt test.py [root@PC1 test3]# cat result.txt 05 06 07 08 09 10 15 16 17 18 19 20 25 26 27 28 29 30 35 36 37 38 39 40
4、删除1、4、7列
[root@PC1 test3]# ls a.txt test.py [root@PC1 test3]# cat a.txt 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 [root@PC1 test3]# cat test.py #!/usr/bin/python in_file = open("a.txt", "r") out_file = open("result.txt", "w") lines = in_file.readlines() delete_cols = [1, 3, 7] for i in lines: i = i.split() temp = [] for j in range(0, len(i)): if j + 1 not in delete_cols: temp.append(i[j]) out_file.write(" ".join(temp)) out_file.write("\n") in_file.close() out_file.close() [root@PC1 test3]# python test.py [root@PC1 test3]# ls a.txt result.txt test.py [root@PC1 test3]# cat result.txt 02 04 05 06 08 09 10 12 14 15 16 18 19 20 22 24 25 26 28 29 30 32 34 35 36 38 39 40
5、删除最后一列
[root@PC1 test3]# ls a.txt test.py [root@PC1 test3]# cat a.txt 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 [root@PC1 test3]# cat test.py #!/usr/bin/python in_file = open("a.txt", "r") out_file = open("result.txt", "w") lines = in_file.readlines() for i in lines: i = i.split()[:-1] out_file.write(" ".join(i)) out_file.write("\n") in_file.close() out_file.close() [root@PC1 test3]# python test.py [root@PC1 test3]# ls a.txt result.txt test.py [root@PC1 test3]# cat result.txt 01 02 03 04 05 06 07 08 09 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39
6、删除倒数第4列
[root@PC1 test3]# ls a.txt test.py [root@PC1 test3]# cat a.txt 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 [root@PC1 test3]# cat test.py #!/usr/bin/python in_file = open("a.txt", "r") out_file = open("result.txt", "w") lines = in_file.readlines() for i in lines: i = i.split() i.pop(-4) out_file.write(" ".join(i)) out_file.write("\n") in_file.close() out_file.close() [root@PC1 test3]# python test.py [root@PC1 test3]# ls a.txt result.txt test.py [root@PC1 test3]# cat result.txt 01 02 03 04 05 06 08 09 10 11 12 13 14 15 16 18 19 20 21 22 23 24 25 26 28 29 30 31 32 33 34 35 36 38 39 40
7、删除最后3列
[root@PC1 test3]# ls a.txt test.py [root@PC1 test3]# cat a.txt 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 [root@PC1 test3]# cat test.py #!/usr/bin/python in_file = open("a.txt", "r") out_file = open("result.txt", "w") lines = in_file.readlines() for i in lines: i = i.split()[:-3] out_file.write(" ".join(i)) out_file.write("\n") in_file.close() out_file.close() [root@PC1 test3]# python test.py [root@PC1 test3]# ls a.txt result.txt test.py [root@PC1 test3]# cat result.txt 01 02 03 04 05 06 07 11 12 13 14 15 16 17 21 22 23 24 25 26 27 31 32 33 34 35 36 37