如何提取/删除行的部分并保存到python中的新文件?

时间:2013-03-07 00:12:06

标签: python

我在这里有这些数据:

'**Otolemur_crassicaudatus**_/7977-8746 gi|238809369|dbj|**AB371093.1**|':0.00000000,'**Otolemur_crassicaudatus**/7977-8746 gi|238866848|ref|**NC_012762.1**|':

.txt文件中的所有内容都在一行中。我想知道如何提取名称(即OtolemurABNC数字(粗体)以打印到新文件但不包含所有其他列。是一个微小的,我所拥有的小片段,并且能够做到这一点将节省时间。

1 个答案:

答案 0 :(得分:1)

假设你想要保留的东西有一些可预测性,你需要某种regex来匹配好东西。然后,您可以获取匹配对象列表,并将其全部写入新文件中。我不知道您的数据是什么样的,以便为您制作正则表达式模式,但基本转换看起来像这样:

import re
infile = open('input.txt', 'r')
outfile = open('output.txt', 'w')
for line in infile:
    # Write each matching piece to its own line in the new file
    outfile.write('\n'.join(re.findall('PATTERN', line)))
infile.close()
outfile.close()