需求背景

表1有两列

表2包含表1不过缺少坐标字段

需要根据HID匹配两个表,把表1的坐标内容补充到表2

代码

import shutil
import sys
import xlwt
import xlrdfile1 = "C:\\Users\\xuyin\\Desktop\\新建文件夹\\match-excel\\表1.xls"
#打开表1
wb1 = xlrd.open_workbook(filename=file1)
# 表1要匹配的列索引
hid_index1 = 0
# 表1目标数据列索引
target_index1 = 1
# 表1的sheet
sheet1 = wb1.sheet_by_index(0)
# 表1的sheet的总行数
rowNum1 = sheet1.nrows
# 表1的sheet的总列数
colNum1 = sheet1.ncolsfile2 = "C:\\Users\\xuyin\\Desktop\\新建文件夹\\match-excel\\表2.xls"
#打开表2
wb2 = xlrd.open_workbook(filename=file2)#打开文件
# 表2要匹配的列索引
hid_index2 = 0
# 表2目标数据列索引
target_index2 = 2
# 表2的sheet
sheet2 = wb2.sheet_by_index(0)#通过索引获取表格
# 表2的sheet的总行数
rowNum2 = sheet2.nrows
# 表2的sheet的总列数
colNum2 = sheet2.ncols# xlwt准备生成一个新的文件
write_workbook = xlwt.Workbook()
write_sheet = write_workbook.add_sheet('sheet1',cell_overwrite_ok=True)for index2 in range(0,rowNum2):for col_index in range(0,colNum2):# 遍历表2的每一行每一列,把对应的单元设置到新的文件中,即复制了表2的数据write_sheet.write(index2,col_index,sheet2.cell_value(index2,col_index))# 在遍历列过程中,如果碰到目标数据列索引.即需要补充的字段,则进行遍历表1,判断的id索引匹配if col_index == target_index2:for index1 in range(1,rowNum1):hid1 = sheet1.cell_value(index1,hid_index1)if hid1 == sheet2.cell_value(index2,hid_index2):# 如果两个表的id相同则把表1的单元内容设置到表2对应的单元格write_sheet.write(index2,col_index,sheet1.cell_value(index1,target_index1))# 保存新的文件
write_workbook.save('new.xls')

结果

python实现两个excel数据匹配,最终写入新的excel文件相关推荐

  1. 通用Excel数据匹配助手:强大的Excel工具,让工作更简单

    通用Excel数据匹配助手简介 通用Excel数据匹配助手是一款非常实用的数据匹配软件,可以用来代替Excel中的Vlookup函数,帮助用户轻松完成数据匹配操作,非常实用. 通用Excel数据匹配助 ...

  2. python打开文件匹配数据_python实现两个excel数据匹配,最终写入新的excel文件

    需求背景 表1有两列 表2包含表1不过缺少坐标字段 需要根据HID匹配两个表,把表1的坐标内容补充到表2 代码 import shutil import sys import xlwt import ...

  3. Python中将两个列表数据zip起来并遍历(Iterating through two lists in parallel)

    Python中将两个列表数据zip起来并遍历(Iterating through two lists in parallel) 目录 Python中将两个列表数据zip起来并遍历(Iterating ...

  4. php excel转数组,php将excel数据转换为3d数组(php convert excel data into 3d array)

    php将excel数据转换为3d数组(php convert excel data into 3d array) 我有一个excel文件,其数据是一个3d数组. 我正在使用PHPExcel Objec ...

  5. java连接Excel数据库读取,写入,操纵Excel表格

    java连接Excel数据库读取,写入,操纵Excel表格 (2009-11-15 14:21:03) 转载 标签: java excel 连接 杂谈 分类:技术文档 java连接MicroSoft ...

  6. python excel 数据匹配_python将一个excel表格的数据匹配到另一个表中

    python将一个excel表格的数据匹配到另一个表中 python将一个excel表格的数据匹配到另一个表中 打开excel表,需要在另一个表中匹配相应学生姓名的学号信息. 之前尝试了excel中的 ...

  7. python excel 数据匹配_python初学者,如何快速匹配excel任务

    第一次在知乎写长文的python办公类文章,有点小紧张~~ 自己是在给女朋友做东西的时候想到,可以分享一些python编程的简单知识,帮助大家提高工作的效率.然后就有了写文章出来的冲动~还开了一个公众 ...

  8. python excel 数据匹配_VLOOKUP函数将一个excel表格的数据匹配到另一个表中

    将一个excel表中的数据匹配到另一个表中,需要用到VLOOKUP函数.简单介绍一下VLOOKUP函数,VLOOKUP函数是Excel中的一个纵向查找函数,VLOOKUP是按列查找,最终返回该列所需查 ...

  9. excel数据匹配_Python 自动整理 Excel 表格

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 位卑未敢忘忧国,事定犹须待盖棺. ...

最新文章

  1. matplotlib 高阶之Transformations Tutorial
  2. 计算机管理关机在哪,电脑点了关机为什么却关不了
  3. Zabbix 安装配置
  4. postgresql-窗口函数使用
  5. 程序员春节回家相亲指南
  6. Swift5.1 语言指南(十七) 反初始化
  7. 关于switch软破“由于发生错误,软件已关闭”无法升级主机系统等问题
  8. ~是什么意思 在C语言中,~0代表什么
  9. 安装内存条后系统蓝屏怎么解决
  10. mysql 短文本相似度_短文本相似度比较
  11. 这张几千人排在门外的大会门票,送你 | 来填写问卷
  12. 2021-07-07随笔
  13. myeclipse自定义背景颜色
  14. 实现ins照片的爬取
  15. JVM 垃圾回收概述
  16. input文本框输入溢出的时候,鼠标悬停显示全部信息
  17. 【问题描述】在带头结点单链表中查找最大值,将其值与最后一个元素交换,输出交换后的单链表各元素。【输入形式】循环输入若干个整数,以字母结束输入,建立带头结点的单链表。【输出形式】输出最
  18. bzoj 4886: [Lydsy2017年5月月赛]叠塔游戏 并查集
  19. 新一代人工智能知识体系大全
  20. 咖啡就是咖啡,不管放了多少糖,依然会有淡淡的苦

热门文章

  1. Linux驱动开发:platform总线驱动
  2. C++项目实战-实际应用
  3. CardView卡片式登录界面
  4. Linux发展史简介
  5. [ Hadoop 3.2.1 官方文档 ] Hadoop 开启 Kerberos 安全模式
  6. Hadoop源码分析笔记(十一):数据节点--数据节点整体运行
  7. IO模型及Netty线程模型
  8. 华为企业服务:数字化运营新主张,企业上云新标配
  9. pymysql插入数据却一直提示right syntax to use near \
  10. 图的定义和各种术语总结