python xlsxwriter模块的使用


Posted in Python onDecember 24, 2020

1.workbook类

add_worksheet

用于添加一个新的工作表,sheetname为工作表名称,默认是sheet1,例如:

worksheet = workbook.add_worksheet()
worksheet = workbook.add_worksheet('测试详情')

add_format

用于在工作表中创建一个新的格式对象来格式化单元格

bold = workbook.add_format({
  'bold': 1,       #字体加粗
  'fg_color': 'green',  #单元格背景颜色
  'align': 'center',   #对齐方式
  'valign': 'vcenter',  #字体对齐方式
})

add_chart

用于在工作表中创建一个图表对象,内部通过insert_chart()方法来实现,参数为dict类型。

chart1 = workbook.add_chart({'type':'column'}) #选择竖状图

设置sheet表单元格的行高和列宽

set_row(row, height)方法,用于设定某一行单元格的行高

(row:指定行位置,起始下标为0;height:为float类型,设定行高,单位像素)

set_column(first_col, last_col, width)方法,用于设置一列或多列单元格的列宽

(irst_col:整型,指定开始列位置,起始下标为0;last_col:整型,指定结束列位置,起始下标为0;width:float类型,设置列宽)

set_column(“first_col:last_col”, width)方法(first_col和last_col用英文字母表示列名,起始为A)

# 设置sheet表单元格列宽
ws.set_column(0,3,40) #设定第1到4列的列宽为40
ws.set_column("A:A", 40) #设定A列列宽为40
ws.set_column("B:D", 15) #设定B、C、D三列的列宽为15
ws.set_column("E:F", 50) #设定E、F列的列宽为50

#设置sheet表单元格行高
ws.set_row(0,40) #设置第一行的高度为40

向单元格中写入内容:write

write(row, col, data,cell_format)方法:是用来将普通数据写入单元格中(行标、列标、内容、单元格格式)

write.string():写入字符串类型数据
wirte_number():写入数字型数据
write_blank():写入空类型数据
write_formula():写入公式型数据
write_datetime():写入日期型数据
wirte_boolean():写入逻辑型数据
write_url():写入超链接型数据

# 示例:
ws.write(1,1,"python操作excel") #在单元格1行1列中写入:“python操作excel”

2.chart类

chart类实图表组件,通过workbook的add_chart方法创建。

chart1 = workbook.add_chart({'type':'column'}) #选择竖状图

常见的图表样式如下:

  • area:面积样式的图表
  • bar:条形图
  • column:柱状图
  • line:线条样式的图表
  • pie:饼形图
  • scatter:散点图
  • stock:股票样式的图表
  • radar:雷达样式的图表

3.实例

#!/usr/bin/env python
# _*_ coding:utf-8 _*_
__author__ = 'Yinjia'

import xlsxwriter

#生成.xlsx文件
workbook = xlsxwriter.Workbook('test_table.xlsx')
#工作页
worksheet = workbook.add_worksheet('测试详情')
worksheet.set_tab_color('red')

#准备测试数据
bold = workbook.add_format({
  'bold': 1,       #字体加粗
  'fg_color': 'green',  #单元格背景颜色
  'align': 'center',   #对齐方式
  'valign': 'vcenter',  #字体对齐方式
})
headings = ['Number','Batch1','Batch2'] #设置表头
data = [
  [2,3,4,5,6,7],
  [10,40,50,20,10,50],
  [30,60,70,50,40,30],
]

#插入数据
worksheet.write_row('A1',headings,bold) #行插入操作
worksheet.write_column('A2',data[0]) #列插入操作
worksheet.write_column('B2',data[1])
worksheet.write_column('C2',data[2])

#插入直方图1
chart1 = workbook.add_chart({'type':'column'}) #选择竖状图
chart1.add_series({
  'name': '=测试详情!$B$1',
  'categories': '=测试详情!$A$2:$A$7',
  'values':  '=测试详情!$B$2:$B$7',#Y轴值
  'data_labels': {'value': True} #显示数字,就是直方图上面的数字,默认不显示
})

#注意上面写法 '=Sheet1!$B$2:$B$7' Sheet1是指定工作页, $A$2:$A$7是从A2到A7数据,
#插入直方图2
chart1.add_series({
  'name': '=测试详情!$B$1',
  'categories': '=测试详情!$A$2:$A$7',
  'values':  '=测试详情!$C$2:$C$7',#Y轴值
  'data_labels': {'value': True}
})

chart1.set_title({'name': 'Chart with Data Table'}) #直方图标题
chart1.set_x_axis({'name': 'Test number'}) #X轴描述
chart1.set_y_axis({'name': 'Sample length (mm)'})#Y轴描述
chart1.set_table() #设置x轴为数据表格式
chart1.set_style(3)#直方图类型
worksheet.insert_chart('D2', chart1, {'x_offset': 25, 'y_offset': 10}) #直方图插入到 D2位置
workbook.close()

4.效果图

python xlsxwriter模块的使用

作者:YinJia
出处:http://www.cnblogs.com/yinjia/

以上就是python xlsxwriter模块的使用的详细内容,更多关于python xlsxwriter模块的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
python获取当前时间对应unix时间戳的方法
May 15 Python
在Python中操作日期和时间之gmtime()方法的使用
May 22 Python
浅谈Python生成器generator之next和send的运行流程(详解)
May 08 Python
Python实现自动为照片添加日期并分类的方法
Sep 30 Python
Python(Django)项目与Apache的管理交互的方法
May 16 Python
使用Python正则表达式操作文本数据的方法
May 14 Python
Opencv实现抠图背景图替换功能
May 21 Python
Python3之外部文件调用Django程序操作model等文件实现方式
Apr 07 Python
Python操作Jira库常用方法解析
Apr 10 Python
Python将二维列表list的数据输出(TXT,Excel)
Apr 23 Python
python中封包建立过程实例
Feb 18 Python
pycharm无法导入lxml的解决办法
Mar 31 Python
想学画画?python满足你!
Dec 24 #Python
Python 爬虫批量爬取网页图片保存到本地的实现代码
Dec 24 #Python
用python获取txt文件中关键字的数量
Dec 24 #Python
举例讲解Python装饰器
Dec 24 #Python
python 基于opencv操作摄像头
Dec 24 #Python
python 基于selenium实现鼠标拖拽功能
Dec 24 #Python
python实现简单猜单词游戏
Dec 24 #Python
You might like
在字符串指定位置插入一段字符串的php代码
2010/02/16 PHP
PHP设计模式 注册表模式(多个类的注册)
2012/02/05 PHP
深入理解Yii2.0乐观锁与悲观锁的原理与使用
2017/07/26 PHP
Laravel框架在本地虚拟机快速安装的方法详解
2018/06/11 PHP
PhpStorm 2020.3:新增开箱即用的PHP 8属性(推荐)
2020/10/30 PHP
Thinkphp5+Redis实现商品秒杀代码实例讲解
2020/12/29 PHP
javascript对象的property和prototype是这样一种关系
2007/03/24 Javascript
javascript是怎么继承的介绍
2012/01/05 Javascript
Node.js抓取中文网页乱码问题和解决方法
2015/02/10 Javascript
NodeJs基本语法和类型
2015/02/13 NodeJs
AngularJs bootstrap搭载前台框架——准备工作
2016/09/01 Javascript
JS取模、取商及取整运算方法示例
2016/10/13 Javascript
Vue.js实战之组件之间的数据传递
2017/04/01 Javascript
Angular实现类似博客评论的递归显示及获取回复评论的数据
2017/11/06 Javascript
vue在使用ECharts时的异步更新和数据加载详解
2017/11/22 Javascript
Vue v2.4中新增的$attrs及$listeners属性使用教程
2018/01/08 Javascript
vue主动刷新页面及列表数据删除后的刷新实例
2018/09/16 Javascript
[02:41]DOTA2亚洲邀请赛小组赛第三日 赛事回顾
2015/02/01 DOTA
Python基本语法经典教程
2016/03/11 Python
Python 比较两个数组的元素的异同方法
2017/08/17 Python
使用python装饰器计算函数运行时间的实例
2018/04/21 Python
python批量从es取数据的方法(文档数超过10000)
2018/12/27 Python
PyQt QCombobox设置行高的方法
2019/06/20 Python
PyCharm Anaconda配置PyQt5开发环境及创建项目的教程详解
2020/03/24 Python
python和pywin32实现窗口查找、遍历和点击的示例代码
2020/04/01 Python
如何利用python之wxpy模块玩转微信
2020/08/17 Python
运行Python编写的程序方法实例
2020/10/21 Python
css3 clip实现圆环进度条的示例代码
2018/02/07 HTML / CSS
美国名表在线商城:Ashford(支持中文)
2019/09/24 全球购物
护理专业应届毕业生推荐信
2013/11/15 职场文书
银行职员思想汇报
2013/12/31 职场文书
体育活动总结范文
2014/05/04 职场文书
学校师德师风整改措施
2014/10/27 职场文书
党课主持词大全
2015/06/30 职场文书
2016猴年春节问候语
2015/11/11 职场文书
体育教师研修感悟
2015/11/18 职场文书