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中用post、get方式提交数据的方法示例
Sep 22 Python
python opencv设置摄像头分辨率以及各个参数的方法
Apr 02 Python
Python读取视频的两种方法(imageio和cv2)
Apr 15 Python
python调用摄像头显示图像的实例
Aug 03 Python
Python全局变量与局部变量区别及用法分析
Sep 03 Python
如何利用Python分析出微信朋友男女统计图
Jan 25 Python
python里 super类的工作原理详解
Jun 19 Python
python里dict变成list实例方法
Jun 26 Python
python之列表推导式的用法
Nov 29 Python
pandas实现将日期转换成timestamp
Dec 07 Python
Pycharm使用远程linux服务器conda/python环境在本地运行的方法(图解))
Dec 09 Python
python3连接mysql获取ansible动态inventory脚本
Jan 19 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/01/02 PHP
PHP 中的批处理的实现
2007/06/14 PHP
php 中的4种标记风格介绍
2012/05/10 PHP
CI框架在CLI下执行占用内存过大问题的解决方法
2014/06/17 PHP
php中opendir函数用法实例
2014/11/15 PHP
php使用timthumb生成缩略图的方法
2016/01/22 PHP
PHP基于迭代实现文件夹复制、删除、查看大小等操作的方法
2017/08/11 PHP
php解决约瑟夫环算法实例分析
2019/09/30 PHP
js中array的sort()方法使用介绍
2014/02/20 Javascript
JS鼠标拖拽实例分析
2015/11/23 Javascript
基于Bootstrap的Metronic框架实现页面链接收藏夹功能
2016/08/29 Javascript
JS中作用域和变量提升(hoisting)的深入理解
2016/10/31 Javascript
通过AngularJS实现图片上传及缩略图展示示例
2017/01/03 Javascript
详解vue-cli下ESlint 配置说明
2018/09/03 Javascript
Vue循环组件加validate多表单验证的实例
2018/09/18 Javascript
vue router 传参获取不到的解决方式
2019/11/13 Javascript
javascript实现移动端红包雨页面
2020/06/23 Javascript
[27:28]Ti4 冒泡赛第二天 iG vs NEWBEE 1
2014/07/15 DOTA
[10:18]2018DOTA2国际邀请赛寻真——Fnatic能否笑到最后?
2018/08/14 DOTA
python测试驱动开发实例
2014/10/08 Python
Python 模板引擎的注入问题分析
2017/01/01 Python
用python实现的线程池实例代码
2018/01/06 Python
利用pyinstaller将py文件打包为exe的方法
2018/05/14 Python
django传值给模板, 再用JS接收并进行操作的实例
2018/05/28 Python
Python Web版语音合成实例详解
2019/07/16 Python
TensorFlow设置日志级别的几种方式小结
2020/02/04 Python
python GUI库图形界面开发之PyQt5切换按钮控件QPushButton详细使用方法与实例
2020/02/28 Python
PyInstaller运行原理及常用操作详解
2020/06/13 Python
Python如何输出百分比
2020/07/31 Python
Python使用cn2an实现中文数字与阿拉伯数字的相互转换
2021/03/02 Python
KENZO官网:高田贤三在法国创立的品牌
2019/05/16 全球购物
实习单位鉴定意见
2015/06/04 职场文书
2019年健身俱乐部的创业计划书
2019/08/26 职场文书
python b站视频下载的五种版本
2021/05/27 Python
2022漫威和DC电影上映作品
2022/04/05 欧美动漫
ubuntu如何搭建vsftpd服务器
2022/12/24 Servers