通过比较python中的两个文件将值添加到变量中

时间:2018-01-26 22:52:28

标签: python

我有两个文本文件。

File1:                       File2:  
X                            B    1    0.1
Y                            A    3    0.2
Z                            C    9    0.9 
A                            P    0    0.72 
                             X    2    0.32
                             Y    5    0.89
                             K    4    0.17
                             Z    7    0.59

我想比较file1和file2,并在file2中的第2列和第3列中写入file1的内容和相关数字的新文件。 新文件是:

X 2    0.32
Y 5    0.89
Z 7    0.59 
A 3    0.2

我用shell脚本来做。但我更喜欢基于python的脚本集成到我的其他代码部分。 知道怎么做吗? 提前谢谢。

1 个答案:

答案 0 :(得分:0)

这可能有效:

path1 = 'path/to/file.txt'
path2 = 'path/to/file.txt'
path3 = 'path/to/file.txt'
file1_lines = []
with open(path1) as file1:
    for lines in file1:
        file1_lines.append(lines)

#remove \n
file1_lines = list(map(lambda s: s.strip(), file1_lines))

with open(path2) as file2:
    for lines in file2:
        if lines[0:1] in file1_lines:
            with open(path3, 'a') as file3:
                file3.write(lines)