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实现保存网页到本地示例
Mar 16 Python
跟老齐学Python之玩转字符串(1)
Sep 14 Python
深入解析Python中的线程同步方法
Jun 14 Python
对python的输出和输出格式详解
Dec 08 Python
Python批量生成幻影坦克图片实例代码
Jun 04 Python
Python函数式编程指南:对生成器全面讲解
Nov 19 Python
python调用c++返回带成员指针的类指针实例
Dec 12 Python
PyCharm设置注释字体颜色以及是否倾斜的操作
Sep 16 Python
matplotlib 三维图表绘制方法简介
Sep 20 Python
Python爬虫开发与项目实战
Dec 16 Python
详细介绍python类及类的用法
May 31 Python
Python实现日志实时监测的示例详解
Apr 06 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实现图象锐化代码
2007/06/14 PHP
PHP下编码转换函数mb_convert_encoding与iconv的使用说明
2009/12/16 PHP
php 面试碰到过的问题 在此做下记录
2011/06/09 PHP
php GUID生成函数和类
2014/03/10 PHP
关于 Laravel Redis 多个进程同时取队列问题详解
2017/12/25 PHP
ext checkboxgroup 回填数据解决
2009/08/21 Javascript
intro.js 页面引导简单用法 分享
2013/08/06 Javascript
基于JQuery制作可编辑的表格特效
2014/12/23 Javascript
JavaScript实现更改网页背景与字体颜色的方法
2015/02/02 Javascript
js实现头像图片切割缩放及无刷新上传图片的方法
2015/07/17 Javascript
JavaScript实现标题栏文字轮播效果代码
2015/10/24 Javascript
vue.js学习笔记之绑定style样式和class列表
2016/10/31 Javascript
微信小程序开发探究
2016/12/27 Javascript
Node.js连接MongoDB数据库产生的问题
2017/02/08 Javascript
Cropper.js 实现裁剪图片并上传(PC端)
2017/08/20 Javascript
Easy UI动态树点击文字实现展开关闭功能
2017/09/30 Javascript
Javascript中的作用域及块级作用域
2017/12/08 Javascript
vue做移动端适配最佳解决方案(亲测有效)
2018/09/04 Javascript
mpvue项目中使用第三方UI组件库的方法
2018/09/30 Javascript
js实现图片无缝循环轮播
2019/10/28 Javascript
Vue Element校验validate的实例
2020/09/21 Javascript
[01:34]传奇从这开始 2016国际邀请赛中国区预选赛震撼开启
2016/06/26 DOTA
django模板语法学习之include示例详解
2017/12/17 Python
浅谈dataframe中更改列属性的方法
2018/07/10 Python
使用50行Python代码从零开始实现一个AI平衡小游戏
2018/11/21 Python
Python整数与Numpy数据溢出问题解决
2019/09/11 Python
Python lambda表达式filter、map、reduce函数用法解析
2019/09/11 Python
Python下划线5种含义代码实例解析
2020/07/10 Python
解决CSS3 transition-delay 属性默认值0不带单位失效的问题
2020/10/29 HTML / CSS
用Python写一个for循环的例子
2016/07/19 面试题
库房主管岗位职责
2013/12/31 职场文书
意外伤害赔偿协议书范文
2014/09/23 职场文书
工作简历自我评价
2015/03/11 职场文书
个人向公司借款协议书
2016/03/19 职场文书
纯CSS实现hover图片pop-out弹出效果的实例代码
2021/04/16 HTML / CSS
MySQL系列之十一 日志记录
2021/07/02 MySQL