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功能键的读取方法
May 28 Python
解决python2.7用pip安装包时出现错误的问题
Jan 23 Python
Python实现的拟合二元一次函数功能示例【基于scipy模块】
May 15 Python
Python3编码问题 Unicode utf-8 bytes互转方法
Oct 26 Python
Python爬虫设置代理IP(图文)
Dec 23 Python
详解pandas.DataFrame中删除包涵特定字符串所在的行
Apr 04 Python
Python对HTML转义字符进行反转义的实现方法
Apr 28 Python
深入浅析Python 命令行模块 Click
Mar 11 Python
jupyter lab的目录调整及设置默认浏览器为chrome的方法
Apr 10 Python
Django 构建模板form表单的两种方法
Jun 14 Python
Pytorch中TensorBoard及torchsummary的使用详解
May 12 Python
利用Python实现Picgo图床工具
Nov 23 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程序员工具
2008/05/26 PHP
php异常处理技术,顶级异常处理器
2012/06/13 PHP
php实现singleton()单例模式实例
2014/11/06 PHP
php封装db类连接sqlite3数据库的方法实例
2017/12/19 PHP
PHP实现数组根据某个单元字段排序操作示例
2018/08/01 PHP
来自chinaz的ajax获取评论代码
2008/05/03 Javascript
一个简单的弹性返回顶部JS代码实现介绍
2013/06/09 Javascript
JS获取当前网页大小以及屏幕分辨率等
2014/09/05 Javascript
实现音乐播放器的代码(html5+css3+jquery)
2015/08/04 Javascript
js实现Select列表内容自动滚动效果代码
2015/08/20 Javascript
JavaScript遍历求解数独问题的主要思路小结
2016/06/12 Javascript
JavaScript 监控微信浏览器且自带返回按钮时间
2016/11/27 Javascript
jQuery实现页面倒计时并刷新效果
2017/03/13 Javascript
javascript+html5+css3自定义提示窗口
2017/06/21 Javascript
elementUI中Table表格问题的解决方法
2018/12/04 Javascript
layui 图片上传+表单提交+ Spring MVC的实例
2019/09/21 Javascript
element跨分页操作选择详解
2020/06/29 Javascript
python将多个文本文件合并为一个文本的代码(便于搜索)
2011/03/13 Python
Python求一批字符串的最长公共前缀算法示例
2019/03/02 Python
python networkx 根据图的权重画图实现
2019/07/10 Python
python将字母转化为数字实例方法
2019/10/04 Python
python 串口读取+存储+输出处理实例
2019/12/26 Python
Python Sphinx使用实例及问题解决
2020/01/17 Python
Pyqt5 关于流式布局和滚动条的综合使用示例代码
2020/03/24 Python
浅析python 动态库m.so.1.0错误问题
2020/05/09 Python
关于tensorflow softmax函数用法解析
2020/06/30 Python
土耳其风格手工珠宝:Ottoman Hands
2019/07/26 全球购物
上学迟到的检讨书
2014/01/11 职场文书
乡镇个人对照检查材料
2014/08/22 职场文书
超市开业庆典活动策划方案
2014/09/15 职场文书
2014年档案管理员工作总结
2014/12/01 职场文书
汇报材料怎么写
2014/12/30 职场文书
2015秋学期开学寄语
2015/05/28 职场文书
婚宴主持词
2015/06/30 职场文书
MySQL连表查询分组去重的实现示例
2021/07/01 MySQL
mysql分组后合并显示一个字段的多条数据方式
2022/01/22 MySQL