python对Excel按条件进行内容补充(推荐)


Posted in Python onNovember 24, 2019

关于xlrd/xlwt和openpyxl的差别

两者都是对于excel文件的操作插件,两者的主要区别在于写入操作,

其中xlwt针对Ecxec2007之前的版本,即.xls文件,其要求单个sheet不超过65535行,
而openpyxl则主要针对Excel2007之后的版本(.xlsx),它对文件大小没有限制。

另外还有区别就是二者在读写速度上的差异,xlrd/xlwt在读写方面的速度都要优于openpyxl,但xlwt无法生成xlsx

openpyxl的用法

官方文档

先了解下Worksheet.cell() 方法。

这提供了对使用行和列表示法的单元格的访问:

d = ws.cell(row=4, column=2, value=10)

获取某个单元格的数据

#通过坐标读取表格中的数据
cell_value1=sheet0.cell_value(y,x)

数据写入

import openpyxl
import datetime
wb = openpyxl.Workbook()
ws = wb.active
ws['A1'] = 520
ws.append([1,2,3])
ws['A3'] = datetime.datetime.now()
wb.save("F:/demo.xlsx")

数据更新

import openpyxl
'''
操作Excel

需求:数据1的内容需要数据2补充 关联关系是都存在唯一的工号

'''
def excel():
  wb1 = openpyxl.load_workbook('数据1.xlsx')  #路径
  sheet1 = wb1.active
  wb2 = openpyxl.load_workbook('数据2.xlsx')
  sheet2 = wb2.active
  for i in range(2, 1211): #数据1.xlsx的数据量
    id2 = sheet2.cell(i, 2).value  #获取数据1唯一工号
    for j in range(2, 1225): #数据2.xlsx的数据量
      id1 = sheet1.cell(j, 2).value #获取数据2唯一工号
      if(id1 == id2):
        sheet1.cell(j, 5).value = sheet2.cell(i, 5).value  #赋值
        sheet1.cell(j, 8).value = sheet2.cell(i, 1).value
        sheet1.cell(j, 7).value = sheet2.cell(i, 6).value
  wb1.save('xg3.xlsx') #存入到一张新的excel表中

if __name__ == "__main__":
  excel()

总结

以上所述是小编给大家介绍的python对Excel按条件进行内容补充,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

Python 相关文章推荐
python编写网页爬虫脚本并实现APScheduler调度
Jul 28 Python
Python第三方库xlrd/xlwt的安装与读写Excel表格
Jan 21 Python
Python OpenCV 直方图的计算与显示的方法示例
Feb 08 Python
python判断输入日期为第几天的实例
Nov 13 Python
解决PySide+Python子线程更新UI线程的问题
Jan 11 Python
使用pyinstaller打包PyQt4程序遇到的问题及解决方法
Jun 24 Python
python 实现视频 图像帧提取
Dec 10 Python
Django ValuesQuerySet转json方式
Mar 16 Python
python实现遍历文件夹图片并重命名
Mar 23 Python
Python3爬虫里关于Splash负载均衡配置详解
Jul 10 Python
python调用jenkinsAPI构建jenkins,并传递参数的示例
Dec 09 Python
完美解决Pycharm中matplotlib画图中文乱码问题
Jan 11 Python
使用Python的datetime库处理时间(RPA流程)
Nov 24 #Python
Python 中判断列表是否为空的方法
Nov 24 #Python
python3中利用filter函数输出小于某个数的所有回文数实例
Nov 24 #Python
python求质数列表的例子
Nov 24 #Python
解决Python中回文数和质数的问题
Nov 24 #Python
使用python实现回文数的四种方法小结
Nov 24 #Python
python代码打印100-999之间的回文数示例
Nov 24 #Python
You might like
PHP获取当前url的具体方法全面解析
2013/11/26 PHP
PHP中imagick函数的中文解释
2015/01/21 PHP
php将数组转换成csv格式文件输出的方法
2015/03/14 PHP
PHP编写RESTful接口
2016/02/23 PHP
Laravel 6 将新增为指定队列任务设置中间件的功能
2019/08/06 PHP
laravel在中间件内生成参数并且传递到控制器中的2种姿势
2019/10/15 PHP
javascript中"/"运算符常见错误
2010/10/13 Javascript
编写可维护面向对象的JavaScript代码[翻译]
2011/02/12 Javascript
浅析jquery的作用与优势
2013/12/02 Javascript
使用js实现的简单拖拽效果
2015/03/18 Javascript
jQuery制作圣诞主题页面 更像是爱情影集
2016/08/10 Javascript
基于Bootstrap的Metronic框架实现条码和二维码的生成及打印处理操作
2016/08/29 Javascript
vue.js获取数据库数据实例代码
2017/05/26 Javascript
谈谈vue中mixin的一点理解
2017/12/12 Javascript
pm2启动ssr失败的解决方法
2019/06/29 Javascript
9种方法优化jQuery代码详解
2020/02/04 jQuery
Element实现表格嵌套、多个表格共用一个表头的方法
2020/05/09 Javascript
[03:22]DSPL第一期精彩集锦:酷炫到底!
2014/11/07 DOTA
[42:20]Secret vs Liquid 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
[01:07:34]DOTA2-DPC中国联赛定级赛 RNG vs Aster BO3第二场 1月9日
2021/03/11 DOTA
Python django使用多进程连接mysql错误的解决方法
2018/10/08 Python
Python urllib库如何添加headers过程解析
2020/10/05 Python
python3实现语音转文字(语音识别)和文字转语音(语音合成)
2020/10/14 Python
python中的测试框架
2020/11/13 Python
利用html5 canvas破解简单验证码及getImageData接口应用
2013/01/25 HTML / CSS
怎么写有吸引力的自荐信
2013/11/17 职场文书
爷爷追悼会答谢词
2014/01/24 职场文书
征婚广告词
2014/03/17 职场文书
求职简历自荐信
2014/06/18 职场文书
学习实践科学发展观心得体会
2014/09/10 职场文书
2015年中秋节主持词
2015/07/30 职场文书
大学生十八大感想
2015/08/11 职场文书
2019年聘任书的写作格式及范文!
2019/07/03 职场文书
导游词之永泰公主墓
2019/12/04 职场文书
Django migrate报错的解决方案
2021/05/20 Python
Python+Appium实现自动抢微信红包
2021/05/21 Python