基于列值加入2个文本文件数据

问题描述 投票:0回答:1

如何使用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条记录,因此需要能够运行较大的记录集。

python file-handling
1个回答
0
投票

您可以使用熊猫来做到这一点:

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进行微调。

© www.soinside.com 2019 - 2024. All rights reserved.