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