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实现二叉堆
Feb 03 Python
python的变量与赋值详细分析
Nov 08 Python
python如何定义带参数的装饰器
Mar 20 Python
使用Python进行目录的对比方法
Nov 01 Python
浅谈Scrapy网络爬虫框架的工作原理和数据采集
Feb 07 Python
深入解析Python小白学习【操作列表】
Mar 23 Python
基于pytorch的保存和加载模型参数的方法
Aug 17 Python
布隆过滤器的概述及Python实现方法
Dec 08 Python
Pytorch Tensor基本数学运算详解
Dec 30 Python
pytorch查看通道数 维数 尺寸大小方式
May 26 Python
如何在python中实现线性回归
Aug 10 Python
详解Selenium 元素定位和WebDriver常用方法
Dec 04 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数据 dbclass类
2011/05/07 PHP
php通过字符串调用函数示例
2014/03/02 PHP
PHP的Socket网络编程入门指引
2015/08/11 PHP
php微信开发之带参数二维码的使用
2016/08/03 PHP
PHP下用Swoole实现Actor并发模型的方法
2019/06/12 PHP
键盘控制事件应用教程大全
2006/11/24 Javascript
再论Javascript的类继承
2011/03/05 Javascript
jquery 图片上传按比例预览插件集合
2011/05/28 Javascript
深入分析Cookie的安全性问题
2015/03/01 Javascript
js控制多图左右滚动切换效果代码分享
2015/08/26 Javascript
jquery实现文本框textarea自适应高度
2016/03/09 Javascript
省市选择的简单实现(基于zepto.js)
2016/06/21 Javascript
JavaScript之filter_动力节点Java学院整理
2017/06/28 Javascript
使用webpack-dev-server处理跨域请求的方法
2018/04/18 Javascript
webpack@v4升级踩坑(小结)
2018/10/08 Javascript
原生js实现获取form表单数据代码实例
2019/03/27 Javascript
jQuery Raty星级评分插件使用方法实例分析
2019/11/25 jQuery
vue总线机制(bus)知识点详解
2020/05/10 Javascript
Python中bisect的用法
2014/09/23 Python
python调用java模块SmartXLS和jpype修改excel文件的方法
2015/04/28 Python
python复制文件的方法实例详解
2015/05/22 Python
深入理解Python中的 __new__ 和 __init__及区别介绍
2018/09/17 Python
pandas条件组合筛选和按范围筛选的示例代码
2019/08/26 Python
浅谈Pycharm最有必要改的几个默认设置项
2020/02/14 Python
Python实现的北京积分落户数据分析示例
2020/03/27 Python
pyspark给dataframe增加新的一列的实现示例
2020/04/24 Python
Python中生成ndarray实例讲解
2021/02/22 Python
HTML5拖放功能_动力节点Java学院整理
2017/07/13 HTML / CSS
HTML5 3D衣服摇摆动画特效
2016/03/17 HTML / CSS
Notino罗马尼亚网站:购买香水和化妆品
2019/07/20 全球购物
澳大利亚头发和美容产品购物网站:OZ Hair & Beauty
2020/03/27 全球购物
大学旷课检讨书
2014/01/28 职场文书
大学毕业感言一句话
2014/02/06 职场文书
材料成型及控制工程专业求职信
2014/06/19 职场文书
学校远程教育工作总结
2015/08/11 职场文书
提档介绍信范文
2015/10/22 职场文书