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编写的最短路径算法
Mar 25 Python
在Python中使用next()方法操作文件的教程
May 24 Python
Python实现代码统计工具(终极篇)
Jul 04 Python
利用Python操作消息队列RabbitMQ的方法教程
Jul 19 Python
Python3.6简单的操作Mysql数据库的三个实例
Oct 17 Python
Python实现的插入排序,冒泡排序,快速排序,选择排序算法示例
May 04 Python
Flask框架学习笔记之模板操作实例详解
Aug 15 Python
PyCharm搭建Spark开发环境的实现步骤
Sep 05 Python
让你的Python代码实现类型提示功能
Nov 19 Python
python实现猜数游戏(保存游戏记录)
Jun 22 Python
Python常用类型转换实现代码实例
Jul 28 Python
python中pop()函数的语法与实例
Dec 01 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提示Call-time pass-by-reference has been deprecated in的解决方法[已测]
2012/05/06 PHP
php ci框架中加载css和js文件失败的解决方法
2014/03/03 PHP
设定php简写功能的方法
2019/11/28 PHP
用JavaScript隐藏控件的方法
2009/09/21 Javascript
jQuery 选择器、DOM操作、事件、动画
2010/11/25 Javascript
原生javascript获取元素样式属性值的方法
2010/12/25 Javascript
js操作checkbox遇到的问题解决
2013/06/29 Javascript
alert中断settimeout计时功能
2013/07/26 Javascript
js 编码转换 gb2312 和 utf8 互转的2种方法
2013/08/07 Javascript
JSF中confirm弹出框的用法示例介绍
2014/01/07 Javascript
javascript获取web应用根目录的方法
2014/02/12 Javascript
iframe子页面与父页面在同域或不同域下的js通信
2014/05/07 Javascript
DOM节点深度克隆函数cloneNode()用法实例
2015/01/12 Javascript
详解jQuery中的empty、remove和detach
2016/04/11 Javascript
JavaScript正则表达式替换字符串中图片地址(img src)的方法
2017/01/13 Javascript
AngularJS中使用three.js的实例详解
2017/07/21 Javascript
Javascript中的getter和setter初识
2017/08/17 Javascript
微信小程序实现留言板(Storage)
2018/11/02 Javascript
layui禁用侧边导航栏点击事件的解决方法
2019/09/25 Javascript
[02:28]DOTA2亚洲邀请赛附加赛 RECAP赛事回顾
2015/01/29 DOTA
Python实现按特定格式对文件进行读写的方法示例
2017/11/30 Python
python导入csv文件出现SyntaxError问题分析
2017/12/15 Python
python3第三方爬虫库BeautifulSoup4安装教程
2018/06/19 Python
Python面向对象之接口、抽象类与多态详解
2018/08/27 Python
python 对类的成员函数开启线程的方法
2019/01/22 Python
Python中注释(多行注释和单行注释)的用法实例
2019/08/28 Python
python使用gdal对shp读取,新建和更新的实例
2020/03/10 Python
重新定义牛仔布,100美元以下:Warp + Weft
2018/07/25 全球购物
经济实惠的豪华背包和行李袋:Packs Project
2018/10/17 全球购物
工业学校毕业生自荐书
2014/01/03 职场文书
读群众路线心得体会
2014/03/07 职场文书
我的老师教学反思
2014/05/01 职场文书
2014大学生党员评议个人总结
2014/09/22 职场文书
2015年学校关工委工作总结
2015/04/03 职场文书
致青春观后感
2015/06/09 职场文书
教你利用Nginx 服务搭建子域环境提升二维地图加载性能的步骤
2021/09/25 Servers