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中变量交换的例子
Aug 25 Python
轻松掌握python设计模式之访问者模式
Nov 18 Python
python 出现SyntaxError: non-keyword arg after keyword arg错误解决办法
Feb 14 Python
在Python的一段程序中如何使用多次事件循环详解
Sep 07 Python
Python网络爬虫中的同步与异步示例详解
Feb 03 Python
python判断一个集合是否为另一个集合的子集方法
May 04 Python
Flask框架Jinjia模板常用语法总结
Jul 19 Python
Python自动化运维之Ansible定义主机与组规则操作详解
Jun 13 Python
python pandas 时间日期的处理实现
Jul 30 Python
利用python实现周期财务统计可视化
Aug 25 Python
Pytest测试框架基本使用方法详解
Nov 25 Python
python实现网络五子棋
Apr 11 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数据库操作类代码(增,删,改,查)
2013/04/08 PHP
thinkphp模板赋值与替换实例简述
2014/11/24 PHP
js removeChild 障眼法 可能出现的错误
2009/10/06 Javascript
javascript 设置文本框中焦点的位置
2009/11/20 Javascript
javascript实现可改变滚动方向的无缝滚动实例
2013/06/17 Javascript
javascript修改表格背景色实例代码分享
2013/12/10 Javascript
JS实现具备延时功能的滑动门菜单效果
2015/09/17 Javascript
在JavaScript中如何解决用execCommand(
2015/10/19 Javascript
基于JS实现移动端向左滑动出现删除按钮功能
2017/02/22 Javascript
vue项目在安卓低版本机显示空白的原因分析(两种)
2018/09/04 Javascript
JS对象和字符串之间互换操作实例分析
2019/02/02 Javascript
vue 引用自定义ttf、otf、在线字体的方法
2019/05/09 Javascript
js实现圆形显示鼠标单击位置
2020/02/11 Javascript
如何利用vue实现波谱拟合详解
2020/11/05 Javascript
vant 解决tab切换插件标题样式自定义的问题
2020/11/13 Javascript
python自动化测试之setUp与tearDown实例
2014/09/28 Python
Python中修改字符串的四种方法
2018/11/02 Python
在Pandas中DataFrame数据合并,连接(concat,merge,join)的实例
2019/01/29 Python
使用python爬取微博数据打造一颗“心”
2019/06/28 Python
pandas删除行删除列增加行增加列的实现
2019/07/06 Python
通过python实现随机交换礼物程序详解
2019/07/10 Python
深入了解Python iter() 方法的用法
2019/07/11 Python
Python任务调度模块APScheduler使用
2020/04/15 Python
会计专业毕业生自我鉴定
2013/10/29 职场文书
公司保密承诺书
2014/03/27 职场文书
《诚实与信任》教学反思
2014/04/10 职场文书
优秀毕业生就业推荐信
2014/05/22 职场文书
材料成型及控制工程专业求职信
2014/06/19 职场文书
2014党员学习《反腐倡廉警示教育读本》思想汇报
2014/09/13 职场文书
2014和解协议书范文
2014/09/15 职场文书
教师党员群众路线教育实践活动心得体会
2014/11/04 职场文书
优秀护士事迹材料
2014/12/25 职场文书
2015年勤工助学工作总结
2015/04/29 职场文书
违反纪律检讨书范文
2015/05/07 职场文书
2015入党自传书范文
2015/06/26 职场文书
详解Flutter自定义应用程序内键盘的实现方法
2022/06/14 Java/Android