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中实现精确的浮点数运算详解
Nov 02 Python
数组保存为txt, npy, csv 文件, 数组遍历enumerate的方法
Jul 09 Python
python中实现字符串翻转的方法
Jul 11 Python
解决pyinstaller打包pyqt5的问题
Jan 08 Python
详解python中docx库的安装过程
Nov 08 Python
python ctypes库2_指定参数类型和返回类型详解
Nov 19 Python
Python和Anaconda和Pycharm安装教程图文详解
Feb 04 Python
通过cmd进入python的步骤
Jun 16 Python
详解Pandas 处理缺失值指令大全
Jul 30 Python
python3获取控制台输入的数据的具体实例
Aug 16 Python
Python浮点型(float)运算结果不正确的解决方案
Sep 22 Python
通过代码简单了解django model序列化作用
Nov 12 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容易被忽略而出错陷阱 数字与字符串比较
2011/11/10 PHP
php随机输出名人名言的代码
2012/10/07 PHP
解析smarty 截取字符串函数 truncate的用法介绍
2013/06/20 PHP
PHP采用XML-RPC构造Web Service实例教程
2014/07/16 PHP
thinkphp判断访客为手机端或PC端的方法
2014/11/24 PHP
PHP解析RSS的方法
2015/03/05 PHP
php生成图片验证码-附五种验证码
2015/08/19 PHP
php中mkdir()函数的权限问题分析
2016/09/24 PHP
javascript正则表达式中参数g(全局)的作用
2010/11/11 Javascript
JavaScript NaN和Infinity特殊值 [译]
2012/09/20 Javascript
window.showModalDialog()返回值的学习心得总结
2014/01/07 Javascript
jquery教程限制文本框只能输入数字和小数点示例分享
2014/01/13 Javascript
js判断ie版本号的简单实现代码
2014/03/05 Javascript
三种动态加载js的jquery实例代码另附去除js方法
2014/04/30 Javascript
JavaScript仿flash遮罩动画效果
2016/06/15 Javascript
微信小程序 实战实例开发流程详细介绍
2017/01/05 Javascript
如何在Vue中使用CleaveJS格式化你的输入内容
2018/12/14 Javascript
详解vue 不同环境配置不同的打包命令
2019/04/07 Javascript
layui实现三级联动效果
2019/07/26 Javascript
[44:40]2018DOTA2亚洲邀请赛3月30日 小组赛A组Liquid VS OG
2018/03/31 DOTA
[01:00:14]DOTA2官方TI8总决赛纪录片 真视界True Sight
2019/01/16 DOTA
跟老齐学Python之总结参数的传递
2014/10/10 Python
Django中url的反向查询的方法
2018/03/14 Python
pandas实现excel中的数据透视表和Vlookup函数功能代码
2020/02/14 Python
html5的画布canvas——画出弧线、旋转的图形实例代码+效果图
2013/06/09 HTML / CSS
详解HTML5 Canvas绘制时指定颜色与透明度的方法
2016/03/25 HTML / CSS
One.com挪威:北欧成长最快的网络托管公司
2016/11/19 全球购物
求∏的近似值,直到最后一项的绝对值小于指定的数
2016/02/12 面试题
关于VPN
2012/06/10 面试题
百日安全活动总结
2014/05/04 职场文书
驳回起诉民事裁定书
2015/05/19 职场文书
毕业生登记表班级意见
2015/06/05 职场文书
2016年秋季趣味运动会开幕词
2016/03/04 职场文书
使用Python脚本对GiteePages进行一键部署的使用说明
2021/05/27 Python
Android基于Fresco实现圆角和圆形图片
2022/04/01 Java/Android
Mysql 如何合理地统计一个数据库里的所有表的数据量
2022/04/18 MySQL