python使用openpyxl库修改excel表格数据方法


Posted in Python onMay 03, 2018

1、openpyxl库可以读写xlsx格式的文件,对于xls旧格式的文件只能用xlrd读,xlwt写来完成了。

简单封装类:

from openpyxl import load_workbook
from openpyxl import Workbook
from openpyxl.chart import BarChart, Series, Reference, BarChart3D
from openpyxl.styles import Color, Font, Alignment
from openpyxl.styles.colors import BLUE, RED, GREEN, YELLOW
class Write_excel(object):
  def __init__(self,filename):
    self.filename = filename
    self.wb = load_workbook(self.filename)
    self.ws = self.wb.active
  def write(self, coord, value):
    # eg: coord:A1
    self.ws.cell(coord).value = value
    self.wb.save(self.filename)
  def merge(self, rangstring):
    # eg: rangstring:A1:E1
    self.ws.merge_cells(rangstring)
    self.wb.save(self.filename)
  def cellstyle(self, coord, font, align):
    cell = self.ws.cell(coord)
    cell.font = font
    cell.alignment = align
  def makechart(self, title, pos, width, height, col1, row1, col2, row2, col3, row3, row4):
    ''':param title:图表名
         pos:图表位置
         width:图表宽度
         height:图表高度
    '''
    data = Reference(self.ws, min_col=col1, min_row=row1, max_col=col2, max_row=row2)
    cat = Reference(self.ws, min_col=col3, min_row=row3, max_row=row4)
    chart = BarChart3D()
    chart.title = title
    chart.width = width
    chart.height = height
    chart.add_data(data=data, titles_from_data=True)
    chart.set_categories(cat)
    self.ws.add_chart(chart, pos)
    self.wb.save(self.filename)

简单使用:

1、新建excel文件处理

wb = Workbook()#创建工作簿 
ws = wb.active#激活工作表 
ws1 = wb.create_sheet("Mysheet")#创建mysheet表 
ws.title = "New Title"#表明改为New Title 
ws.sheet_properties.tabColor = "1072BA"#颜色 
ws['A4'] = 4#赋值 
d = ws.cell(row=4, column=2, value=10)#赋值 
cell_range = ws['A1':'C2']#选择单元格区域 
wb.save('test.xlsx')#保存

2、已有excel文件的处理

a、修改excel数据

wr = Write_excel('d:\demo.xlsx') 
wr.write('A2','hello')

b、合并单元格

wr.merge('A1:B3')

c、单元格加入样式,如字体,颜色等属性

单元格B2设置宋体,14号,红色,自动换行,水平居中,垂直居中

font = Font(name=u'宋体', size=14, color=RED, bold=True)
align = Alignment(horizontal='center', vertical='center')
wr.cellstyle('B2', font, align)

d、创建3d柱状图

rows = [ 
  (None, 2013, 2014), 
  ("Apples", 5, 4), 
  ("Oranges", 6, 2), 
  ("Pears", 8, 3) 
] 
 
for row in rows: 
  ws.append(row) 
 
wr.makechart(u"3D Bar Chart", 'E5', 12.5, 7, 2, 1, 3, 4, 1, 2, 4)

python使用openpyxl库修改excel表格数据方法

可以创建3d柱状和折线图表,挺好用的。

官方文档:https://openpyxl.readthedocs.io/en/latest/usage.html

以上这篇python使用openpyxl库修改excel表格数据方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python 控制语句
Nov 03 Python
Python 文件和输入输出小结
Oct 09 Python
Python时间模块datetime、time、calendar的使用方法
Jan 13 Python
简单学习Python time模块
Apr 29 Python
python连接mysql实例分享
Oct 09 Python
代码详解django中数据库设置
Jan 28 Python
Python中一般处理中文的几种方法
Mar 06 Python
如何利用Python模拟GitHub登录详解
Jul 15 Python
浅谈python的elementtree模块处理中文注意事项
Mar 06 Python
使用Dajngo 通过代码添加xadmin用户和权限(组)
Jul 03 Python
python 解决selenium 中的 .clear()方法失效问题
Sep 01 Python
基于OpenCV的网络实时视频流传输的实现
Nov 15 Python
python实现跨excel的工作表sheet之间的复制方法
May 03 #Python
Python利用openpyxl库遍历Sheet的实例
May 03 #Python
python实现简单淘宝秒杀功能
May 03 #Python
Python实现的求解最小公倍数算法示例
May 03 #Python
Python实现的求解最大公约数算法示例
May 03 #Python
Python实现的质因式分解算法示例
May 03 #Python
Python绘制3D图形
May 03 #Python
You might like
一个简单的php实现的MySQL数据浏览器
2007/03/11 PHP
对象失去焦点时自己动提交数据的实现代码
2012/11/06 PHP
php通过baihui网API实现读取word文档并展示
2015/06/22 PHP
thinkPHP3.1验证码的简单实现方法
2016/04/22 PHP
php实现的统计字数函数定义与使用示例
2017/07/26 PHP
Laravel基础_关于view共享数据的示例讲解
2019/10/14 PHP
php使用pthreads v3多线程实现抓取新浪新闻信息操作示例
2020/02/21 PHP
JavaScript中实现继承的三种方式和实例
2015/01/29 Javascript
js实现每日自动换一张图片的方法
2015/05/04 Javascript
在JavaScript应用中实现延迟加载的方法
2015/06/25 Javascript
js判断请求的url是否可访问,支持跨域判断的实现方法
2016/09/17 Javascript
关于vuex的学习实践笔记
2017/04/05 Javascript
详解webpack的配置文件entry与output
2017/08/21 Javascript
Angular父子组件通过服务传参的示例方法
2018/10/31 Javascript
使用vuepress搭建静态博客的示例代码
2019/02/14 Javascript
用python写asp详细讲解
2013/12/16 Python
总结Python中逻辑运算符的使用
2015/05/13 Python
Python通过90行代码搭建一个音乐搜索工具
2015/07/29 Python
对Python中DataFrame按照行遍历的方法
2018/04/08 Python
实例详解Python装饰器与闭包
2019/07/29 Python
keras绘制acc和loss曲线图实例
2020/06/15 Python
keras的load_model实现加载含有参数的自定义模型
2020/06/22 Python
Python 必须了解的5种高级特征
2020/09/10 Python
详解如何使用rem或viewport进行移动端适配
2020/08/14 HTML / CSS
世界闻名的衬衫制造商:Savile Row Company
2018/07/30 全球购物
美国最好的钓鱼、狩猎和划船装备商店:Bass Pro Shops
2018/12/02 全球购物
数学系个人求职信范文
2014/01/30 职场文书
六个一活动实施方案
2014/03/21 职场文书
校庆标语集锦
2014/06/25 职场文书
党旗在我心中演讲稿
2014/09/15 职场文书
2014年社区工作总结
2014/11/18 职场文书
兵马俑的导游词
2015/02/02 职场文书
2015年销售工作总结范文
2015/03/30 职场文书
开除通知书范本
2015/04/25 职场文书
idea 在springboot中使用lombok插件的方法
2021/08/02 Java/Android
Go语言并发编程 sync.Once
2021/10/16 Golang