【发布时间】:2018-04-26 00:04:09
【问题描述】:
谁能帮我解决这个问题: 我有两个文件,比如说:
文件 1:
A1 B1 C1 D1
A2 B2 C2 D2
A3 B3 C3 D3
A4 B4 C4 D4
文件2:
A1 E1
A4 E4
期望的输出:
A1 B1 C1 D1 E1
A2 B2 C2 D2
A3 B3 C3 D3
A4 B4 C4 D4 E4
这是我得到的,它不会工作:
>>> for line1 in file1.readlines ():
>>> s = line1.split ()
>>> # do stuff...
>>> for line2 in file2.readlines ():
>>> ss = line2.split ()
>>> if s [0] == ss[0]:
>>> outfile.write (s + " " + ss [1])
>>> # do some more stuff
有什么想法吗?
【问题讨论】:
-
您能否将最后一行替换为:
outline.write(' '.join(s + [ss[1]]))并告诉我们它是否有效(我没有运行它,但应该稍作修改)。 -
它可以工作,但它不会返回循环遍历整个文件 1。它仅将文件 1 的第一行与文件 2 进行比较
-
是的,因为你只有在满足条件的情况下才会做某事。你也应该处理
else。 -
如果你会使用pandas,就像使用merge函数一样简单