我有三个文本文件。
两个文件(a.txt、b.txt)的格式相同(> 100000000 行,三列数据),
一个是来自 a.txt 和 b.txt 第一列的联合文件。
a.txt ('r')
MARCH2_MARCH2 2.3 0.1
MARCH2_MARC2 -0.22 0
MARCH2_MARCH5 -0.3 0.3
MARCH2_MARCH6 -1.4 0
MARCH2_MARCH7 0.1 0
MARCH2_SEPT2 -1.0 0
MARCH2_SEPT4 0.8 0
b.txt ('r')
MARCH2_MARCH2 2.2 0
MARCH2_MARCH2.1 0.2 0
MARCH2_MARCH3 -0.4 0.1111111
MARCH2_MARCH5 -0.3 0
MARCH2_MARCH6 -0.6 0
MARCH2_MARCH7 1.2 0
MARCH2_SEPT2 0.2 0
c.txt ('r')
MARCH2_MARCH2
MARCH2_MARCH2.1
MARCH2_MARC2
MARCH2_MARCH5
MARCH2_MARCH6
MARCH2_MARCH7
MARCH2_SEPT2
MARCH2_SEPT4
MARCH2_MARCH3
我想从这些文件中编写新文件,如下所示。
也就是说,将每个文本文件的第二列和第三列中的两个值插入到第一列中包含相同值的对应行(a[0] == c[0] 或 b[0] == c[0])。
因此,新文件中的总列数可能是五。如果没有匹配的值,我只想插入“NA”。
新文件('w')
MARCH2_MARCH2 2.3 0.1 2.2 0
MARCH2_MARCH2.1 NA NA 0.2 0
MARCH2_MARC2 -0.2 0 NA NA
MARCH2_MARCH5 -0.3 0.3 -0.3 0
MARCH2_MARCH6 -1.4 0 -0.6 0
MARCH2_MARCH7 1.2 0 1.2 0
MARCH2_SEPT2 -1.0 0 0.2 0
MARCH2_SEPT4 0.8 0 NA NA
MARCH2_MARCH3 NA NA -0.4 0.1111111
我正在寻找解决方案并尝试了一些不同的方法,包括基于字典的解析。不幸的是,我还是 python 新手,我编写的所有代码都不能正常工作。请把你的手给我。
非常感谢你。