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 相关文章推荐
Linux环境下MySQL-python安装过程分享
Feb 02 Python
Python实现的查询mysql数据库并通过邮件发送信息功能
May 17 Python
Numpy之文件存取的示例代码
Aug 03 Python
对Python 3.5拼接列表的新语法详解
Nov 08 Python
Python3几个常见问题的处理方法
Feb 26 Python
Python3实现从排序数组中删除重复项算法分析
Apr 03 Python
Python Numpy库datetime类型的处理详解
Jul 13 Python
Python使用GitPython操作Git版本库的方法
Feb 29 Python
python 实现人和电脑猜拳的示例代码
Mar 02 Python
Tensorflow tf.tile()的用法实例分析
May 22 Python
keras使用Sequence类调用大规模数据集进行训练的实现
Jun 22 Python
Python必须了解的35个关键词
Jul 16 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
dedecms模板标签代码官方参考
2007/03/17 PHP
php中json_encode中文编码问题分析
2011/09/13 PHP
使用PHP curl模拟浏览器抓取网站信息
2013/10/28 PHP
微信API接口大全
2015/04/15 PHP
PHP实现生成数据字典功能示例
2018/05/24 PHP
UserData用法总结 lanyu出品
2010/07/01 Javascript
从零开始学习jQuery (四) jQuery中操作元素的属性与样式
2011/02/23 Javascript
jquery特效 幻灯片效果示例代码
2013/07/16 Javascript
jquery 清空file域示例(兼容个浏览器)
2013/10/11 Javascript
js用typeof方法判断undefined类型
2014/07/15 Javascript
基于JQuery制作可编辑的表格特效
2014/12/23 Javascript
jQuery实现Meizu魅族官方网站的导航菜单效果
2015/09/14 Javascript
AngularJS API之copy深拷贝详解及实例
2016/09/14 Javascript
bootstrap table动态加载数据示例代码
2017/03/25 Javascript
动态统计当前输入内容的字节、字符数的实例详解
2017/10/27 Javascript
JS遍历DOM文档树的方法实例详解
2018/04/03 Javascript
Makefile/cmake/node-gyp中区分判断不同平台的方法
2018/12/18 Javascript
利用原生JS实现欢乐水果机小游戏
2020/04/23 Javascript
用JavaScript实现贪吃蛇游戏
2020/10/23 Javascript
iview实现动态表单和自定义验证时间段重叠
2021/01/10 Javascript
[01:02:02]DOTA2上海特级锦标赛A组败者赛 EHOME VS CDEC第二局
2016/02/25 DOTA
python基于mysql实现的简单队列以及跨进程锁实例详解
2014/07/07 Python
python使用any判断一个对象是否为空的方法
2014/11/19 Python
Python 12306抢火车票脚本
2018/02/07 Python
浅谈python中get pass用法
2019/03/19 Python
Python基础知识点 初识Python.md
2019/05/14 Python
python并发编程 Process对象的其他属性方法join方法详解
2019/08/20 Python
HTML5 Web存储方式的localStorage和sessionStorage进行数据本地存储案例应用
2012/12/09 HTML / CSS
英国评分最高的女性剃须刀订阅盒:FFS Beauty
2018/01/25 全球购物
办理信用卡工作证明
2014/01/11 职场文书
信息管理应届生求职信
2014/03/07 职场文书
优秀校长事迹材料
2014/12/24 职场文书
悬空寺导游词
2015/02/05 职场文书
2015年法律事务部工作总结
2015/07/27 职场文书
宾馆客房管理制度
2015/08/06 职场文书
使用pandas或numpy处理数据中的空值(np.isnan()/pd.isnull())
2021/05/14 Python