由于工作中经常有2个表格内容需要比对一下,把不同的内容列出来,所以做了一个对比程序,如下:

import pandas as pd# 读取2个要对比的表格
df1 = pd.read_excel('需要对比的数据.xlsx', sheet_name='数据1')
df2 = pd.read_excel('需要对比的数据.xlsx', sheet_name='数据2')# 获取所有数据,并删除重复值,为了获取所有id
df = df1.append(df2)
cols_value = df.id.values  # 获取'id'列数组
cols_value = list(set(cols_value))
cols_value.remove(df1.iat[0, 0])  # 删除了表头# 初始化 res,把表1的第一行标题添加到 res
row = list(df1.values[0])
columns = ['id', 'data1', 'data2', 'data3', 'data4', 'data5', 'data6', 'data7', 'data8', 'data9', 'data10']
res = pd.DataFrame([row], columns=columns)# 表1和表2进行比对,把不同的数组存入到res中
for i in cols_value:# print(i)row1 = df1[df1.id == i]row2 = df2[df2.id == i]if row1.empty:  # 判断是不是空值res = res.append({'table': '表1', 'id': i}, ignore_index=True)row2['table'] = '表2'res = res.append(row2)else:if row2.empty:  # 判断是不是空值row1['table'] = '表1'res = res.append(row1)# res.loc['id' == i, 'table'] = '表1'res = res.append({'table': '表2', 'id': i}, ignore_index=True)else:temp = row1.append(row2)temp.drop_duplicates(inplace=True)if temp.shape[0] == 1:passelse:row1['table'] = '表1'res = res.append(row1)row2['table'] = '表2'res = res.append(row2)
order = ['table', 'id', 'data1', 'data2', 'data3', 'data4', 'data5', 'data6', 'data7', 'data8', 'data9', 'data10']
res = res[order]
print(res)
res.to_excel('比对结果.xlsx', sheet_name='比对结果')
res.save()
print('done')

使用时,在同一级目录下建立 需要对比的数据.xlsx 文件,创建2个表,表名为 数据1数据2,且第一行写 [id, data1, data2, data3, data4, data5, data6, data7, data8, data9, data10] 如下图:

注意:第一列需要填写主建,且2个需要对比的数据顺序需要一致。

最后运行代码后,在同目录下生成 比对结果.xlsx 的文件,打开他就能看到结果了,如下图(表2中缺少id=8的行,所以结果中显示空值):

虽然运行代码能正常处理,但还是会报些错误,请各位能给个建议,谢谢。

使用pandas比对Excel表格,把不同数据列出相关推荐

  1. 关于在python中如何使用pandas库读取excel表格后 删除含有空值的列

    在使用pandas读入相关的excel后,若是表格中有空值的列,要如何清洗呢 在查阅了网上的相关的资料后,得到了办法 pandas.dropna(axis=1,how='any') axis=0指行, ...

  2. Python入门题031:excel表格筛选重复数据

    题目: 使用 pandas 筛选表格中的重复数据,将筛选后的表格保存到新的 excel 文件中. 视频教程: Python入门题031:excel表格筛选重复数据 代码: import pandass ...

  3. python如何清空excel表格_python 删除excel表格重复行,数据预处理操作

    使用python删除excel表格重复行. # 导入pandas包并重命名为pd import pandas as pd # 读取Excel中Sheet1中的数据 data = pd.DataFram ...

  4. 【唠叨两句】如何将一张树型结构的Excel表格中的数据导入到多张数据库表中...

    小弟昨天遇到一个相对比较棘手的问题,就像标题说的那样.如何将一张树型结构的Excel表格中的数据导入到多张数据库表中,在现实中实际是七张数据库表,这七张表之间有着有着相对比较复杂的主外键关系,对于我这 ...

  5. python读取excel表格-python读取excel表格中的数据

    使用python语言实现Excel 表格中的数据读取,需要用到xlrd.py模块,实现程序如下: import xlrd #导入xlrd模块 class ExcelData(): def __init ...

  6. python3读取excel数据-python3 读取Excel表格中的数据

    需要先安装openpyxl库 通过pip命令安装: pip install openpyxl 源码如下: #!/usr/bin/python3 #-*- coding:utf-8 -*- import ...

  7. c 语言如何处理表格文件中的数据库,C#程序从Excel表格中读取数据并进行处理

    今天做了一个Excel表格数据处理的事情,因为数据量表较大(接近7000条)所以处理起来有点麻烦,于是写了一个程序, 先将程序记下以便将来查找. using System; using System. ...

  8. 如何将excel表格内的数据导入至mysql数据库

    如何将excel表格内的数据导入至mysql数据库 当前mysql版本:5.5 创建Excel表格输入数据 注:第一行为数据表的列名(要保持一致) 将表格另存为.cvs格式的文件 再用editPlus ...

  9. 查询oracle数据库的表格数据类型,excel表格中如何查询数据库数据类型-我想把excel表格中的数据导入oracle数据库中,想在......

    在excel表里,什么是:字段.记录.数据类型.多工... declare @t table(id numeric(18,2)) insert into @t SELECT   col1 FROM   ...

  10. matlab将列数据存成excel表格,matlab将列数据存成excel表格-matlab工作区数据怎么转为excel...

    如何将excel中数据导入matlab并存入数组中 直接写 X=xlsread('路径 文件名.xls','你想取出的列'): 例如X=xlsread('c:\数据.xls','a1:b4');就取出 ...

最新文章

  1. 11G中自动收集统计信息
  2. Perl 安装 模块Net::SSH2 有些0day是ssh2
  3. 阿里推出 PolarFS 分布式文件系统:将存储与计算分开,提升云数据库性能(附论文)
  4. deep learning 深度学习中英文版下载地址
  5. antd权限管理_Ant Design Pro开发后台管理系统(权限)-阿里云开发者社区
  6. Mac底下java和jre路径
  7. java实现梁友栋裁剪算法_梁友栋裁剪算法
  8. 数据结构笔记(十二)-- 定长顺序结构的实现
  9. 对比select中的distinct影响
  10. AMPL这个币居然复活了,而且势不可挡!
  11. 在cmd中对Python的一些操作(查版本,下载包等)
  12. 烧光20亿不够续命,快狗打车IPO找钱?
  13. Test failed due to unrecognized service account for this product, please submit initial report for t
  14. 1分钟学会PS背景虚化
  15. php7.1 phpize编译gd,centos 7 下用 phpize安装GD扩展库
  16. 思科模拟器CISCO/华为模拟器ENSP配置一个完整的校园网(网络安全、数据冗余)
  17. oracle云怎么购买,使用免费的Oracle云服务-创建云主机
  18. eNSP之简单WLAN拓扑配置
  19. Git管理项目,git的基本操作语法加注释
  20. 海水淡化膜:反渗透RO膜系统预处理概述

热门文章

  1. 电脑C盘内存不足?三分钟教你彻底清理C盘空间,瞬间多出10个G
  2. 佛系程序员之歌 - 和我一起减减压
  3. SPSS实现单因素方差分析
  4. 基于jieba库的词频分析
  5. 公共DNS递归服务器(转发)
  6. 首次使用计算机鼠标键盘不能用,电脑鼠标键盘都不能用如何解决 开机后鼠标键盘不能用怎么办...
  7. 解决谷歌浏览器Chrome不能上网,其他浏览器可以正常上网问题
  8. flowable设计器自定义自己的人员选择器
  9. 爬虫小练(刷访问量)(python+requests(headers+proxy)+Queue+threading)
  10. 药品质量检测方法:电感耦合等离子体质谱仪