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 相关文章推荐
基于asyncio 异步协程框架实现收集B站直播弹幕
Sep 11 Python
python使用opencv按一定间隔截取视频帧
Mar 06 Python
Window10+Python3.5安装opencv的教程推荐
Apr 02 Python
Python面向对象基础入门之设置对象属性
Dec 11 Python
Django实现一对多表模型的跨表查询方法
Dec 18 Python
简单了解Django ORM常用字段类型及参数配置
Jan 07 Python
opencv python图像梯度实例详解
Feb 04 Python
python如何调用字典的key
May 25 Python
python适合做数据挖掘吗
Jun 16 Python
python七种方法判断字符串是否包含子串
Aug 18 Python
Python字符串三种格式化输出
Sep 17 Python
python中@property的作用和getter setter的解释
Dec 22 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数组函数序列之end() - 移动数组内部指针到最后一个元素,并返回该元素的值
2011/10/31 PHP
php读取文件内容至字符串中,同时去除换行、空行、行首行尾空格(Zjmainstay原创)
2012/07/31 PHP
将博客园(cnblogs.com)数据导入到wordpress的代码
2013/01/06 PHP
深入理解PHP的远程多会话调试
2017/09/21 PHP
微信公众号开发之获取位置信息php代码
2018/06/13 PHP
身份证号码前六位所代表的省,市,区, 以及地区编码下载
2007/04/12 Javascript
juqery 学习之三 选择器 子元素与表单
2010/11/25 Javascript
jquery批量设置属性readonly和disabled的方法
2014/01/24 Javascript
JavaScript保留两位小数的2个自定义函数
2014/05/05 Javascript
JQuery弹出层示例可自定义
2014/05/19 Javascript
jQuery中的read和JavaScript中的onload函数的区别
2014/08/27 Javascript
nodejs 中模拟实现 emmiter 自定义事件
2016/02/22 NodeJs
Node.js编写组件的三种实现方式
2016/02/25 Javascript
深入理解jQuery()方法的构建原理
2016/12/05 Javascript
bootstrap折叠调用collapse()后data-parent不生效的快速解决办法
2017/02/23 Javascript
JavaScript关联数组用法分析【概念、定义、遍历】
2017/03/15 Javascript
vue2.0 keep-alive最佳实践
2017/07/06 Javascript
vue cli webpack中使用sass的方法
2018/02/24 Javascript
JavaScript实现多态和继承的封装操作示例
2018/08/20 Javascript
微信小程序批量监听输入框对按钮样式进行控制的实现代码
2019/10/12 Javascript
浅谈vue-router路由切换 组件重用挖下的坑
2019/11/01 Javascript
element中el-container容器与div布局区分详解
2020/05/13 Javascript
[42:22]DOTA2上海特级锦标赛C组小组赛#1 OG VS Archon第一局
2016/02/27 DOTA
[04:15]DOTA2-DPC中国联赛1月19日Recap集锦
2021/03/11 DOTA
python读取Android permission文件
2013/11/01 Python
Python使用正则表达式实现文本替换的方法
2017/04/18 Python
Python简单删除列表中相同元素的方法示例
2017/06/12 Python
Django 删除upload_to文件的步骤
2020/03/30 Python
Python基于wordcloud及jieba实现中国地图词云图
2020/06/09 Python
详解Canvas 跨域脱坑实践
2018/11/07 HTML / CSS
美国中西部家用医疗设备商店:Med Mart(轮椅、踏板车、升降机等)
2019/04/26 全球购物
美国在线肉类和海鲜配送:Crowd Cow
2020/10/02 全球购物
IBatis持久层技术
2016/07/18 面试题
教师产假请假条
2014/04/10 职场文书
党的群众路线教育实践活动查摆问题自查报告
2014/10/10 职场文书
事业单位财务人员岗位职责
2015/04/14 职场文书