电子政务门户网站建设,文章管理系统网站模板,成立一个公司需要哪些流程,学生做的网站需要备案利用 openpyxl 模块#xff0c;操作Excel#xff0c;比较Excel两列数据#xff0c;并分别显示差异
表格数据样例如下图
A#xff0c;B两列是需要进行比较的数据#xff08;数据源为某网站公开数据#xff09;#xff1b;C#xff0c;D两列是比较结果的输出列 A#…利用 openpyxl 模块操作Excel比较Excel两列数据并分别显示差异
表格数据样例如下图
AB两列是需要进行比较的数据数据源为某网站公开数据CD两列是比较结果的输出列 AB两列数据大都是通过半角逗号分割的人名且排序为乱序最后需要得到 C列A有B无D列A无B有 两列数据 试过用 Beyond Compare但效果一般方方格子还有其他的倒是没试过
Python 源码如下
#-*- coding: utf-8 -*-import openpyxldef compare(path):# openpyxl 加载指定表格操作时表格需要为关闭状态wb openpyxl.load_workbook(path)# 指定需要操作的 表格页面ws wb[Sheet]# A列数据col_a []# B列数据col_b []col_c []col_d []# 没有对A,B列中空数据进行特殊处理如有需要自行修改# 将A列数据拼接为listfor col in list(ws.columns)[0]:col_a.append(str(col.value))# 将B列数据拼接为listfor col in list(ws.columns)[1]:col_b.append(str(col.value))for i in range (0, len(col_a)):# A有B无s_a # A无B有s_b # 根据指定分隔符对表格内容进行分隔如有多种分隔符需要替换成同一种col_c col_a[i].split(,)col_d col_b[i].split(,)# 第三列数据为 A有B无for m in range(0, len(col_c)):if col_b[i].find(col_c[m]) -1:s_a s_a col_c[m] ,ws.cell(i1, 3).value s_a #末尾会加上 , 不需要的话改成 ws.cell(i1, 3).value s_a[:-1]# 第四列数据为 A无B有for n in range(0, len(col_d)):if col_a[i].find(col_d[n]) -1:s_b s_b col_d[n] ,ws.cell(i1, 4).value s_b #末尾会加上 , 不需要的话改成 ws.cell(i1, 4).value s_b[:-1]# 保存上述操作不写这句表格内容不会保存wb.save(path)def main():# 指定表格路径excel_path r.\测试数据.xlsxcompare(excel_path)if __name__ __main__:main()