gpt4 book ai didi

python - 迭代两个文件,按行比较匹配的字符串,合并匹配的行

转载 作者:太空宇宙 更新时间:2023-11-04 00:56:16 24 4
gpt4 key购买 nike

我有两个包含生物列表的文件。第一个文件包含一个指示“科属”的列表,所以有两列。第二个文件包含“属种”,也是两列。两个文件都具有所有列出物种的属。我想使用每个文件的属来合并两个列表,以便能够将家族名称添加到“属种”中。因此,输出应包含“科属物种”。由于每个名称之间都有一个空格,因此我使用该空格分成几列。到目前为止,这是我的代码:

with open('FAMILY_GENUS.TXT') as f1, open('GENUS_SPECIES.TXT') as f2:
for line1 in f1:
line1 = line1.strip()
c1 = line1.split(' ')
print(line1, end=' ')
for line2 in f2:
line2 = line2.strip()
c2 = line2.split(' ')
if line1[1] == line2[0]:
print(line2[1], end=' ')
print()

结果输出仅由两行组成,而不是整个记录。我错过了什么?

另外,我怎样才能将它保存到一个文件中而不是仅仅打印在屏幕上?

最佳答案

这是另一种解决方案。

f1 = open('fg','r')
f2 = open('gs','r')
genera= {}
for i in f1.readlines():
family,genus = i.strip().split(" ")
genera[genus] = family

for i in f2.readlines():
genus,species = i.strip().split(" ")
print(genera[genus], genus,species)

关于python - 迭代两个文件,按行比较匹配的字符串,合并匹配的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34959565/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com