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 sys模块sys.path使用方法示例
Dec 04 Python
在Python中使用NLTK库实现对词干的提取的教程
Apr 08 Python
全面了解Python的getattr(),setattr(),delattr(),hasattr()
Jun 14 Python
Python程序员面试题 你必须提前准备!(答案及解析)
Jan 23 Python
Django中Model的使用方法教程
Mar 07 Python
Python多线程中阻塞(join)与锁(Lock)使用误区解析
Apr 27 Python
详解flask表单提交的两种方式
Jul 21 Python
Pycharm新手教程(只需要看这篇就够了)
Jun 18 Python
利用Python复制文件的9种方法总结
Sep 02 Python
Python面向对象之继承原理与用法案例分析
Dec 31 Python
python批量替换文件名中的共同字符实例
Mar 05 Python
python使用Thread的setDaemon启动后台线程教程
Apr 25 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实现验证码功能
2006/10/09 PHP
解析php中获取系统信息的方法
2013/06/25 PHP
php检索或者复制远程文件的方法
2015/03/13 PHP
PHP SPL标准库中的常用函数介绍
2015/05/11 PHP
PHP中检查isset()和!empty()函数的必要性
2019/02/13 PHP
Laravel多域名下字段验证的方法
2019/04/04 PHP
php实现根据身份证获取精准年龄
2020/02/26 PHP
高效率JavaScript编写技巧整理
2013/08/23 Javascript
基于NodeJS的前后端分离的思考与实践(五)多终端适配
2014/09/26 NodeJs
详解Bootstrap的aria-label和aria-labelledby应用
2016/01/04 Javascript
一道关于JavaScript变量作用域的面试题
2016/03/08 Javascript
干货!教大家如何选择Vue和React
2017/03/13 Javascript
Vue.js列表渲染绑定jQuery插件的正确姿势
2017/06/29 jQuery
vue中各种通信传值方式总结
2019/02/14 Javascript
Vue $mount实战之实现消息弹窗组件
2019/04/22 Javascript
[02:49]2014DOTA2电竞也是体育项目! 势要把荣誉带回中国!
2014/07/20 DOTA
[59:35]DOTA2-DPC中国联赛定级赛 Aster vs DLG BO3第一场 1月8日
2021/03/11 DOTA
python列表去重的二种方法
2014/02/14 Python
Python的CGIHTTPServer交互实现详解
2018/02/08 Python
Python程序运行原理图文解析
2018/02/10 Python
python+pandas分析nginx日志的实例
2018/04/28 Python
浅谈python中对于json写入txt文件的编码问题
2018/06/07 Python
django 使用 request 获取浏览器发送的参数示例代码
2018/06/11 Python
Python使用Pickle库实现读写序列操作示例
2018/06/15 Python
华为2019校招笔试题之处理字符串(python版)
2019/06/25 Python
Python初学者常见错误详解
2019/07/02 Python
HTML5自定义data-* data(obj)属性和jquery的data()方法的使用
2012/12/13 HTML / CSS
海淘母婴商城:国际妈咪
2016/07/23 全球购物
新媒传信软件测试面试题
2013/02/24 面试题
公务员保密承诺书
2014/03/27 职场文书
校长竞聘演讲稿
2014/05/16 职场文书
市级三好学生事迹材料
2014/08/27 职场文书
教师业务学习材料
2014/12/16 职场文书
敬老院志愿者活动总结
2015/05/06 职场文书
如何在CocosCreator里画个炫酷的雷达图
2021/04/16 Javascript
CentOS安装Nginx并部署vue
2022/04/12 Servers