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 11 Python
浅析Python3爬虫登录模拟
Feb 07 Python
替换python字典中的key值方法
Jul 06 Python
基于python实现名片管理系统
Nov 30 Python
python如何爬取网站数据并进行数据可视化
Jul 08 Python
Python Multiprocessing多进程 使用tqdm显示进度条的实现
Aug 13 Python
使用python批量修改文件名的方法(视频合并时)
Mar 24 Python
如何基于python实现归一化处理
Jan 20 Python
Selenium常见异常解析及解决方案示范
Apr 10 Python
Python基于os.environ从windows获取环境变量
Jun 09 Python
Python可以用来做什么
Nov 23 Python
python中常用的数据结构介绍
Jan 12 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
PHP5 安装方法
2006/10/09 PHP
php生成图片缩略图的方法
2015/04/07 PHP
Ubuntu server 11.04安装memcache及php使用memcache来存储session的方法
2016/05/31 PHP
php cli模式下获取参数的方法
2017/05/05 PHP
php实现查询功能(数据访问)
2017/05/23 PHP
通过JAVAScript实现页面自适应
2007/01/19 Javascript
Autocomplete Textbox Example javascript实现自动完成成功
2007/08/17 Javascript
JavaScript 异步调用框架 (Part 1 - 问题 & 场景)
2009/08/03 Javascript
两种简单实现菜单高亮显示的JS类代码
2010/06/27 Javascript
简述JavaScript中正则表达式的使用方法
2015/06/15 Javascript
js控住DOM实现发布微博效果
2016/08/30 Javascript
值得分享的JavaScript实现图片轮播组件
2016/11/21 Javascript
canvas时钟效果
2017/02/16 Javascript
详解如何从零开始搭建Express+Vue开发环境
2018/07/17 Javascript
layui字体图标 loading图标静止不旋转的解决方法
2019/09/23 Javascript
vue 取出v-for循环中的index值实例
2019/11/09 Javascript
node.js中对Event Loop事件循环的理解与应用实例分析
2020/02/14 Javascript
Vue时间轴 vue-light-timeline的用法说明
2020/10/29 Javascript
Python Web框架Flask中使用百度云存储BCS实例
2015/02/08 Python
Python获取linux主机ip的简单实现方法
2016/04/18 Python
python实战之实现excel读取、统计、写入的示例讲解
2018/05/02 Python
python3使用QQ邮箱发送邮件
2020/05/20 Python
解决Python对齐文本字符串问题
2019/08/28 Python
pytorch 中的重要模块化接口nn.Module的使用
2020/04/02 Python
Python API 操作Hadoop hdfs详解
2020/06/06 Python
详解Python Celery和RabbitMQ实战教程
2021/01/20 Python
Myprotein瑞典官方网站:畅销欧洲英国运动营养品牌
2018/01/22 全球购物
单位消防安全制度
2014/01/12 职场文书
博士生求职信
2014/07/06 职场文书
机关作风建设工作总结
2014/10/23 职场文书
幼儿园大班教师随笔
2015/08/14 职场文书
公务员岗前培训心得体会
2016/01/08 职场文书
一年级下册数学教学反思
2016/02/16 职场文书
Oracle更换为MySQL遇到的问题及解决
2021/05/21 Oracle
MySQL中的引号和反引号的区别与用法详解
2021/10/24 MySQL
微信告警的zabbix监控系统 监控整个NGINX集群
2022/04/18 Servers