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中的正则表达式的用法
Apr 09 Python
举例讲解Python中的迭代器、生成器与列表解析用法
Mar 20 Python
Django如何配置mysql数据库
May 04 Python
Python实现获取本地及远程图片大小的方法示例
Jul 21 Python
python开启摄像头以及深度学习实现目标检测方法
Aug 03 Python
python删除字符串中指定字符的方法
Aug 13 Python
在python中利用GDAL对tif文件进行读写的方法
Nov 29 Python
python,Django实现的淘宝客登录功能示例
Jun 12 Python
Python初学者常见错误详解
Jul 02 Python
用Python写一个自动木马程序
Sep 17 Python
Python实现AI换脸功能
Apr 10 Python
python 调用Google翻译接口的方法
Dec 09 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
phpExcel导出大量数据出现内存溢出错误的解决方法
2013/02/28 PHP
py文件转exe时包含paramiko模块出错解决方法
2016/08/12 PHP
实现PHP搜索加分页
2016/10/12 PHP
阻止JavaScript事件冒泡传递(cancelBubble 、stopPropagation)
2007/05/08 Javascript
Javascript读取cookie函数代码
2010/10/16 Javascript
jQuery 操作option的实现代码
2011/03/03 Javascript
关于include标签导致js路径找不到的问题分析及解决
2013/07/09 Javascript
Javascript表格翻页效果实现思路及代码
2013/08/23 Javascript
动态加载JS文件的三种方法
2013/11/08 Javascript
js与css实现弹出层覆盖整个页面的方法
2014/12/13 Javascript
Jquery树插件zTree用法入门教程
2015/02/17 Javascript
Bootstrap轮播插件中图片变形的终极解决方案 使用jqthumb.js
2016/07/10 Javascript
jQuery Dialog 取消右上角删除按钮事件
2016/09/07 Javascript
Vue v2.4中新增的$attrs及$listeners属性使用教程
2018/01/08 Javascript
vue使用axios上传文件(FormData)的方法
2019/04/14 Javascript
VScode格式化ESlint方法(最全最好用方法)
2019/09/10 Javascript
2019年度web前端面试题总结(主要为Vue面试题)
2020/01/12 Javascript
vue 实现超长文本截取,悬浮框提示
2020/07/29 Javascript
解决vue init webpack 下载依赖卡住不动的问题
2020/11/09 Javascript
[03:44]2015国际邀请赛选手档案—Cloud9.NoTail
2015/07/28 DOTA
pyqt和pyside开发图形化界面
2014/01/22 Python
python实现爬虫下载漫画示例
2014/02/16 Python
python面向对象多线程爬虫爬取搜狐页面的实例代码
2018/05/31 Python
Python实现通过解析域名获取ip地址的方法分析
2019/05/17 Python
PyCharm-错误-找不到指定文件python.exe的解决方法
2019/07/01 Python
Pandas时间序列:重采样及频率转换方式
2019/12/26 Python
Python有参函数使用代码实例
2020/01/06 Python
如何基于Python按行合并两个txt
2020/11/03 Python
Toppik顶丰增发纤维官网:解决头发稀疏
2017/12/30 全球购物
WWE美国职业摔角官方商店:WWE Shop
2018/11/15 全球购物
一套比较完整的软件测试人员面试题
2012/05/13 面试题
大学自我鉴定范文
2013/12/26 职场文书
环保倡议书
2014/04/14 职场文书
大学生求职信怎么写
2015/03/19 职场文书
mysql字符串截取函数小结
2021/04/05 MySQL
java版 联机五子棋游戏
2022/05/04 Java/Android