用python分析两张excel一张为本月数据一张为上月数据通过其中共有列IPMAC来对两张表进行输出本月新增多少条数据删除多少条数据以及未变更多少条数据并将输出数据存入新表
- 导入所需的库
import pandas as pd
- 读取本月数据和上月数据
df_this_month = pd.read_excel('this_month.xlsx')
df_last_month = pd.read_excel('last_month.xlsx')
- 合并两个数据表,根据IP和MAC进行合并,只保留本月数据表中的IP和MAC
df_merge = pd.merge(df_this_month[['IP', 'MAC']], df_last_month, on=['IP', 'MAC'], how='outer', indicator=True)
- 统计新增、删除和未变更的数据行数
new_count = (df_merge['_merge'] == 'left_only').sum()
delete_count = (df_merge['_merge'] == 'right_only').sum()
same_count = (df_merge['_merge'] == 'both').sum()
- 创建新表并将结果存入新表
result = pd.DataFrame({'新增数据': [new_count], '删除数据': [delete_count], '未变更数据': [same_count]})
result.to_excel('result.xlsx', index=False)
完整代码:
import pandas as pd
# 读取本月数据和上月数据
df_this_month = pd.read_excel('this_month.xlsx')
df_last_month = pd.read_excel('last_month.xlsx')
# 合并两个数据表,根据IP和MAC进行合并,只保留本月数据表中的IP和MAC
df_merge = pd.merge(df_this_month[['IP', 'MAC']], df_last_month, on=['IP', 'MAC'], how='outer', indicator=True)
# 统计新增、删除和未变更的数据行数
new_count = (df_merge['_merge'] == 'left_only').sum()
delete_count = (df_merge['_merge'] == 'right_only').sum()
same_count = (df_merge['_merge'] == 'both').sum()
# 创建新表并将结果存入新表
result = pd.DataFrame({'新增数据': [new_count], '删除数据': [delete_count], '未变更数据': [same_count]})
result.to_excel('result.xlsx', index=False)
原文地址: http://www.cveoy.top/t/topic/qVz 著作权归作者所有。请勿转载和采集!