需求背景

表1有两列

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

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

代码

import shutil

import sys

import xlwt

import xlrd

file1 = "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.ncols

file2 = "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')

结果

本文地址:https://blog.csdn.net/u010034713/article/details/110921270

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

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

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

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

  2. python爬虫程序详解_Python网络爬虫之三种数据解析方式

    指定url 基于requests模块发起请求 获取响应对象中的数据 进行持久化存储 其实,在上述流程中还需要较为重要的一步,就是在持久化存储之前需要进行指定数据解析.因为大多数情况下的需求,我们都会指 ...

  3. python爬取动态网页_python爬取动态网页数据,详解

    原理:动态网页,即用js代码实现动态加载数据,就是可以根据用户的行为,自动访问服务器请求数据,重点就是:请求数据,那么怎么用python获取这个数据了? 浏览器请求数据方式:浏览器向服务器的api(例 ...

  4. python读取grib2数据_python读取grib grib2气象数据

    GRIB是WMO开发的一种用于交换和存储规则分布数据的二进制文件格式,主要用来表示数值天气预报的产品资料.现行的GRIB 码版本有GRIB1 和GRIB2 两种格式.由于小编只接触过GRIB1数据,所 ...

  5. python打开另一个程序_python 新手问题啊,为什么我运行一个python程序,另一个就会自动退出呢?始终只能运行一个...

    /data/python/caiji_asc.py /data/python/caiji_desc.py 两个文件的代码几乎一样的,就是查询mysql的时候order 排序不一样 下面是具体代码,刚学 ...

  6. python 通达信数据_Python读取通达信本地数据

    一.介绍 python获取股票数据的方法很多,其中 Tushare 财经数据接口包很好用,当然,也可以通过通达信本地的数据获取,这样更为方便. 日线数据存在这路径下 D:\通达信\vipdoc\sh\ ...

  7. 如何用python获取通达信数据_Python读取通达信本地数据

    一.介绍 python获取股票数据的方法很多,其中 Tushare 财经数据接口包很好用,当然,也可以通过通达信本地的数据获取,这样更为方便. 日线数据存在这路径下 D:\通达信\vipdoc\sh\ ...

  8. python案例分析大学生薪资_Python数据分析实战:解密数据分析师的薪资和需求

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:CPDA数据说 喜欢的朋友欢迎关注小编,除了分享技术文章之外还有很多 ...

  9. python处理pdf提取指定数据_python从PDF中提取数据的示例

    01 前言 数据是数据科学中任何分析的关键,大多数分析中最常用的数据集类型是存储在逗号分隔值(csv)表中的干净数据.然而,由于可移植文档格式(pdf)文件是最常用的文件格式之一,因此每个数据科学家都 ...

最新文章

  1. P2P Device Discovery流程分析
  2. Java全能手册火了!Redis/Nginx/Dubbo/Spring全家桶/啥都有
  3. 【计算理论】图灵机 ( 多个带子的图灵机 | 计算能力对比 | 证明过程 | 一个带子图灵机 )
  4. 华为p40论坛_花粉俱乐部网友:华为P40千万别上双扬声器,小米10方向错了
  5. Java知多少(15)字符串
  6. VTK:Utilities之FullScreen
  7. BJUT算法设计与分析考试真题 无答案
  8. android ndk 头文件,笔记:Android源码和NDK目录及头文件
  9. 机械--NX2007(UG)有限元分析教程1--简单物体
  10. 如何才能真正的学会设计模式
  11. xUtils框架的介绍
  12. 新世纪大学英语(第二版)综合教程第一册 Unit 3 重点单词
  13. mybatis(狂神说笔记)
  14. 计算机网卡实现的功能,网卡实现的主要功能是什么
  15. 仿微信朋友圈【九宫格的实现】
  16. 少儿Python视频课程A级简介
  17. flutter与RN对比
  18. 高中数学几何题解题技巧:立体几何三视图高效还原方法—拔高法
  19. 电子设计大赛-微电网模拟系统
  20. 易經大意(12) 三和 韓長庚 著

热门文章

  1. android 设备关机后还能在设定的闹钟时刻响起的功能如何实现,Android闹钟 AlarmManager的使用...
  2. JS判断是否是ioS或者Android
  3. Makerbase SimpleFOC ESP32 例程1 双电机开环速度测试
  4. (可下载)《2020年网络安全威胁信息研究报告(2021年)》上新
  5. 怎样学好python安全编程_Python高级安全编程 - 安全牛课堂 - 领先的信息安全在线教育平台
  6. 自学实践前后端项目4 MMall商城 4
  7. 【手把手带你刷好题】—— 43.满足条件的两数之和(双指针、非力扣)
  8. LTE中扫频及小区搜索
  9. 十分钟玩转 jQuery+实例大全
  10. 【Unity Shader】unity海边波浪效果的实现