无名阁,只为技术而生。流水不争先,争的是滔滔不绝。

(python excel) Python实现对比两个Excel数据内容并标记出不同 Python库:使用pandas对比Excel文件 全网首发(图文详解1)

前沿技术 Micheal 4个月前 (06-04) 53次浏览 已收录 扫描二维码

(python excel) Python实现对比两个Excel数据内容并标记出不同

Python有许多库可以帮助我们完成Excel文件的对比工作,包括pandas和openpyxl等。

下面将会展示一种方法,使用pandas库进行Excel文件的对比和差异标记:

  • 首先,你需要安装所需的库,包括pandas和openpyxl。如果还未安装,可以通过下面的命令进行安装:
pip install pandas
pip install openpyxl
  • 导入库并读取Excel文件:

我们需要导入pandas库,并使用read_excel()方法来载入我们欲对比的excel文件。

import pandas as pd

# 读取两个excel文件
df1 = pd.read_excel("file1.xlsx")
df2 = pd.read_excel("file2.xlsx")
  • 对比文件并找出差异:

我们使用pandas的equals()方法来比较两个数据框。如果两者完全相同,该方法将返回True;否则,返回False。

# 比较两个数据框
if df1.equals(df2):
    print("两个表格完全一样")
else:
    print("两个表格有差异")
  • 找出并标记差异:
def highlight_diff(data, color='yellow'):
    attr = 'background-color: {}'.format(color)
    other = data.xs('Old', axis='columns', level=-1)
    return pd.DataFrame(np.where(data.ne(other, level=0), attr, ''),
                        index=data.index, columns=data.columns)

df_all = pd.concat([df1, df2], axis='columns', keys=['Old', 'New'])
df_final = df_all.swaplevel(axis='columns')[df1.columns[1:]]

df_final.style.apply(highlight_diff, axis=None)

这段代码首先定义了一个highlight_diff函数,这个函数用于把那些在两个表格之间有差异的地方标为黄色。然后我们把两个表格合并,最后应用highlight_diff函数。

  • 保存标记过差异的Excel:
#保存标记过差异的Excel
df_final.to_excel('diff.xlsx', engine='openpyxl')

通过上述步骤,我们就成功比对了两个Excel文件,并将差异标记出来并保存。
(os.path.exists) python中os.path.exits()的坑 os.path.exists()函数之坑:误解与避免 全网首发(图文详解1)
(405错误) http请求报错:405 Method Not Allowed的原因和解决办法 HTTP状态码405:服务器禁止请求方法 全网首发(图文详解1)

喜欢 (0)
[]
分享 (0)
关于作者:
流水不争先,争的是滔滔不绝