如何使用python实现2个文本文件的连接并输出第三个文件,但仅添加一个文件中存在的,在第二个文件中具有相应匹配值的值?
输入File1.txt:
GameScore | KeyNumber | Order
85 | 2568909 | 2 |
84 | 2672828 | 1 |
80 | 2689999 | 5 |
65 | 2123232 | 3 |
Input File2.txt:
KeyName | RecordNumber
Andy | 2568909 |
John | 2672828 |
Andy | 2672828 |
Megan | 1000021 |
必需的输出File3.txt:
KeyName | KeyNumber | GameScore | Order
Andy | 2672828 | 84 | 1 |
Andy | 2568909 | 85 | 2 |
John | 2672828 | 84 | 1 |
Megan | 1000021 ||
在文件2中查找键名和记录号,并将其与文件1中的键号进行匹配,并复制相应的游戏分数和订购值。
这些文件有1到500000条记录,因此需要能够运行较大的记录集。
您可以使用熊猫来做到这一点:
import pandas as pd
df1 = pd.read_csv('Input File1.txt', sep='|')
df2 = pd.read_csv('Input File2.txt', sep='|', header=0, names=['KeyName', 'KeyNumber'])
df3 = df1.merge(df2, on='KeyNumber', how='right')
请参见documentation进行微调。