首页 > 解决方案 > 根据列值连接 2 个文本文件数据

问题描述

如何使用python实现2个文本文件的连接并输出第三个文件,但只添加一个文件中存在的值,该文件在第二个文件中具有相应的匹配值?

输入文件1.txt:

GameScore|KeyNumber|顺序

85|2568909|2|

84|2672828|1|

80|2689999|5|

65|2123232|3|

输入文件2.txt:

键名|记录号

安迪|2568909|

约翰|2672828|

安迪|2672828|

梅根|1000021|

所需的输出 File3.txt:

KeyName|KeyNumber|GameScore|顺序

安迪|2672828|84|1|

安迪|2568909|85|2|

约翰|2672828|84|1|

梅根|1000021||

在文件 2 中查找键名和记录编号,并将其与文件 1 中的 KeyNumber 匹配并复制相应的游戏分数和顺序值。

这些文件有 1 到 500000 条记录,因此需要能够运行大量记录。

编辑:我无权访问任何像熊猫这样的库,也不允许安装任何库。

基本上需要运行一个 cmd 来触发一个程序,该程序读取 2 个文件,比较并生成第三个文件。

标签: pythonfile-handling

解决方案


您可以使用 pandas 来执行此操作:

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')

请参阅文档进行微调。


推荐阅读