首页 > 解决方案 > 使用 Python 比较 2 个 CSV 文件

问题描述

我有 2 个 CSV 文件,其中员工 ID 是主键。在新文件中会有一些更改,例如电话号码或地址更改。我正在尝试使用 Dict 比较。请指导我。

Old file -> 12345, Peter, 765 darwin BLVD, 326-967-4330
New file -> 12345, Peter, 765 darwin LLVD, 339-440-3330`

我想使用 emp ID 逐行比较这两个文件。

标签: python

解决方案


如果您不介意安装pandas,这是一种方法:

import pandas as pd
from io import StringIO

old = '''\
empid, name, address, phone
12345, Peter, 765 darwin BLVD, 326-967-4330
23456, John, 123 Sesame st, 123-456-7890
'''

new = '''\
empid, name, address, phone
12345, Peter, 765 darwin LLVD, 339-440-3330
23456, John, 123 Sesame st, 123-456-7890
'''

old_df = pd.read_csv(StringIO(old), skipinitialspace=True)
new_df = pd.read_csv(StringIO(new), skipinitialspace=True)

df = old_df.merge(new_df, on=['empid'], suffixes=('_old', '_new'))

print(df.query('name_old != name_new or address_old != address_new or phone_old != phone_new'))

推荐阅读