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实现在sqlite动态创建表的方法
May 08 Python
python中enumerate函数用法实例分析
May 20 Python
Python中的下划线详解
Jun 24 Python
Windows中安装使用Virtualenv来创建独立Python环境
May 31 Python
django用户登录和注销的实现方法
Jul 16 Python
Python3.6.x中内置函数总结及讲解
Feb 22 Python
利用python实现冒泡排序算法实例代码
Dec 01 Python
numpy.ndarray 实现对特定行或列取值
Dec 05 Python
keras.layer.input()用法说明
Jun 16 Python
Selenium之模拟登录铁路12306的示例代码
Jul 31 Python
Python 数据科学 Matplotlib图库详解
Jul 07 Python
Python实现为PDF去除水印的示例代码
Apr 03 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
如何去掉文章里的 html 语法
2006/10/09 PHP
聊天室php&mysql(五)
2006/10/09 PHP
ThinkPHP让分页保持搜索状态的方法
2014/07/02 PHP
Lazy Load 延迟加载图片的 jQuery 插件
2010/02/06 Javascript
jquery 表格的增行删行实现思路
2013/03/21 Javascript
纯js分页代码(简洁实用)
2013/11/05 Javascript
jquery 绑定回车动作扑捉回车键触发的事件
2014/03/26 Javascript
js实现Select列表各项上移和下移的方法
2015/08/14 Javascript
详解javascript new的运行机制
2016/01/26 Javascript
探寻JavaScript中this指针指向
2016/04/23 Javascript
js删除Array数组中指定元素的两种方法
2016/08/03 Javascript
基于JS分页控件实现简单美观仿淘宝分页按钮效果
2016/11/07 Javascript
JS图片预加载插件详解
2017/06/21 Javascript
mongoose设置unique不生效问题的解决及如何移除unique的限制
2017/11/07 Javascript
浅析从vue源码看观察者模式
2018/01/29 Javascript
JS使用遮罩实现点击某区域以外时弹窗的弹出与关闭功能示例
2018/07/31 Javascript
Vue 开发必须知道的36个技巧(小结)
2019/10/09 Javascript
解决Angularjs异步操作后台请求用$q.all排列先后顺序问题
2019/11/29 Javascript
深度解读vue-resize的具体用法
2020/07/08 Javascript
详解Vue数据驱动原理
2020/11/17 Javascript
[02:20]DOTA2中文配音宣传片
2013/05/22 DOTA
[35:34]Liquid vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
利用Python如何批量更新服务器文件
2018/07/29 Python
Python实现从SQL型数据库读写dataframe型数据的方法【基于pandas】
2019/03/18 Python
pytorch打印网络结构的实例
2019/08/19 Python
Python运行异常管理解决方案
2020/03/09 Python
python selenium xpath定位操作
2020/09/01 Python
Django用户认证系统如何实现自定义
2020/11/12 Python
pandas将list数据拆分成行或列的实现
2020/12/13 Python
详解win10下pytorch-gpu安装以及CUDA详细安装过程
2021/01/28 Python
阻止移动设备(手机、pad)浏览器双击放大网页的方法
2014/06/03 HTML / CSS
亚马逊中国官方网站:amazon.cn
2017/05/25 全球购物
计算机应用专业自荐信
2014/07/05 职场文书
银行求职信范文怎么写
2015/03/20 职场文书
Python深度学习之Pytorch初步使用
2021/05/20 Python
详解Vue3使用axios的配置教程
2022/04/29 Vue.js