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 实现文件的递归拷贝实现代码
Aug 02 Python
Python全局变量操作详解
Apr 14 Python
在Django中创建第一个静态视图
Jul 15 Python
python flask 多对多表查询功能
Jun 25 Python
python3.4控制用户输入与输出的方法
Oct 17 Python
使用Py2Exe for Python3创建自己的exe程序示例
Oct 31 Python
DES加密解密算法之python实现版(图文并茂)
Dec 06 Python
运行tensorflow python程序,限制对GPU和CPU的占用操作
Feb 06 Python
python判断元素是否存在的实例方法
Sep 24 Python
Python控制台输出俄罗斯方块移动和旋转功能
Apr 18 Python
matplotlib画混淆矩阵与正确率曲线的实例代码
Jun 01 Python
python中的class_static的@classmethod的巧妙用法
Jun 22 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堆栈与列队的学习
2013/06/21 PHP
关于PHP内存溢出问题的解决方法
2013/06/25 PHP
PHP FTP操作类代码( 上传、拷贝、移动、删除文件/创建目录)
2014/05/10 PHP
php5.3后静态绑定用法详解
2016/11/11 PHP
laravel添加前台跳转成功页面示例
2019/10/22 PHP
JScript中的undefined和"undefined"的区别
2007/03/08 Javascript
在iframe里的页面编写js,实现在父窗口上创建动画效果展开和收缩的div(不变动iframe父窗口代码)
2011/12/20 Javascript
向当前style sheet中插入一个新的style实现方法
2013/04/01 Javascript
JQuery+Ajax无刷新分页的实例代码
2014/02/08 Javascript
JavaScript中一个奇葩的IE浏览器判断方法
2014/04/16 Javascript
js立即执行函数: (function ( ){})( ) 与 (function ( ){}( )) 有什么区别?
2015/11/18 Javascript
BootStrap selectpicker
2016/06/20 Javascript
ASP.NET jquery ajax传递参数的实例
2016/11/02 Javascript
angular.js + require.js构建模块化单页面应用的方法步骤
2017/07/19 Javascript
vue中七牛插件使用的实例代码
2017/07/28 Javascript
JavaScript闭包的简单应用
2017/09/01 Javascript
解决在vue+webpack开发中出现两个或多个菜单公用一个组件问题
2017/11/28 Javascript
用p5.js制作烟花特效的示例代码
2018/03/21 Javascript
js中int和string数据类型互相转化实例
2019/01/16 Javascript
jQuery使用jsonp实现百度搜索的示例代码
2020/07/08 jQuery
[01:16]2014DOTA2 TI专访C9战队EE:中国五强中会占三席
2014/07/10 DOTA
Python实现字符串的逆序 C++字符串逆序算法
2020/05/28 Python
详解Numpy中的数组拼接、合并操作(concatenate, append, stack, hstack, vstack, r_, c_等)
2019/05/27 Python
Python图像处理之图片文字识别功能(OCR)
2019/07/30 Python
简单了解python调用其他脚本方法实例
2020/03/26 Python
python Selenium 库的使用技巧
2020/10/16 Python
pytorch 中forward 的用法与解释说明
2021/02/26 Python
一款基于css3和jquery实现的动画显示弹出层按钮教程
2015/01/04 HTML / CSS
英国领先的在线高尔夫商店:Scottsdale Golf
2019/08/26 全球购物
介绍Ibatis的核心类
2013/11/18 面试题
Java中的基本数据类型所占存储空间大小固定的吗
2012/02/15 面试题
一份婚庆公司创业计划书
2014/01/11 职场文书
班级出游活动计划书
2014/08/15 职场文书
员工教育培训协议书
2014/09/27 职场文书
房屋转让协议书
2014/10/18 职场文书
小石潭记导游词
2015/02/03 职场文书