删除每行的特定列

我是 python 的新手,现在我没有想法。我想做什么:我有一个文件


例子:


254   578       name1      *--21->28--*      secname1

854   548       name2      *--21->28--*      secname2

944   785       name3      *--21->28--*      secname3

1025  654       name4      *--21->28--*      secname4

这些文件之间有很多空格,我不想为每一行删除“name*”和“secname*”之间的特定空格。我不知道该怎么做,如示例中所示删除字符/空格 21 -> 28


到目前为止我得到了什么:


fobj_in = open("85488_66325_R85V54.txt")

fobj_out = open("85488_66325_R85V54.txt","w")


for line in fobj_in:




fobj_in.close()

fobj_out.close()

最后它应该是这样的:


254   578       name1            secname1

854   548       name2            secname2

944   785       name3            secname3

1025  654       name4            secname4


万千封印
浏览 175回答 3
3回答

MM们

要按特定索引位置删除字符,您必须使用切片for line in open('85488_66325_R85V54.txt'):     newline = line[:21] + line[29:]    print(newline)删除列 21:28 中的字符(在您的示例中都是空格)

森林海

只需拆分行并弹出您不需要的元素。fobj_in = open('85488_66325_R85V54','r')fobj_out = open('85488_66325_R85V54.txt', 'a')for line in fobj_in:     items = line.split()     items.pop(3)     fobj_out.write(' '.join(items)+'\n')fobj_in.close()fobj_out.close()

慕尼黑8549860

您可以只使用字符串对象的split方法,如下所示:f = open('my_file.txt', 'r')data = f.readlines()final_data = []for line in data:    bits = line.split()    final_data.append([bits[0], bits[1], bits[2], bits[4]])基本上我只是在说明如何使用该split方法将每一行分成单独的块,此时您可以做任何您想做的事情,比如打印所有这些位并有选择地丢弃其中一列。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python