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多线程Selenium跨浏览器测试
Apr 01 Python
教你用 Python 实现微信跳一跳(Mac+iOS版)
Jan 04 Python
scrapy spider的几种爬取方式实例代码
Jan 25 Python
Python3实现的字典、列表和json对象互转功能示例
May 22 Python
pandas带有重复索引操作方法
Jun 08 Python
基于python实现聊天室程序
Jul 27 Python
Django REST Framework之频率限制的使用
Sep 29 Python
python爬虫模块URL管理器模块用法解析
Feb 03 Python
keras实现多GPU或指定GPU的使用介绍
Jun 17 Python
python中加背景音乐如何操作
Jul 19 Python
python四种出行路线规划的实现
Jun 23 Python
教你使用Python获取QQ音乐某个歌手的歌单
Apr 03 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程序中的常见漏洞进行攻击
2006/10/09 PHP
PHP压缩html网页代码(清除空格,换行符,制表符,注释标记)
2012/04/02 PHP
Laravel中扩展Memcached缓存驱动实现使用阿里云OCS缓存
2015/02/10 PHP
Codeigniter的dom类用法实例
2015/06/26 PHP
CI框架AR操作(数组形式)实现插入多条sql数据的方法
2016/05/18 PHP
php使用PDO从数据库表中读取数据的实现方法(必看)
2017/06/02 PHP
PHP unlink与rmdir删除目录及目录下所有文件实例代码
2018/02/07 PHP
实例讲解PHP验证邮箱是否合格
2019/01/28 PHP
Array, Array Constructor, for in loop, typeof, instanceOf
2011/09/13 Javascript
JSP跨iframe如何传递参数实现代码
2013/09/21 Javascript
JavaScript中的ArrayBuffer详细介绍
2014/12/08 Javascript
JavaScript中的闭包(Closure)详细介绍
2014/12/30 Javascript
javascript获取四位数字或者字母的随机数
2015/01/09 Javascript
jquery插件jSignature实现手动签名
2015/05/04 Javascript
简介AngularJS的HTML DOM支持情况
2015/06/17 Javascript
javascript实现3D切换焦点图
2015/10/16 Javascript
JS动态给对象添加事件的简单方法
2016/07/19 Javascript
jQuery实现文章图片弹出放大效果
2017/04/06 jQuery
Vue.js中轻松解决v-for执行出错的三个方案
2017/06/09 Javascript
Javascript中Promise的四种常用方法总结
2017/07/14 Javascript
AngularJS 实现购物车全选反选功能
2017/10/24 Javascript
浅谈Vue SSR 的 Cookies 问题
2017/11/20 Javascript
Javascript原生ajax请求代码实例
2020/02/20 Javascript
Python使用random.shuffle()打乱列表顺序的方法
2018/11/08 Python
在Pycharm中修改文件默认打开方式的方法
2019/01/17 Python
python 批量解压压缩文件的实例代码
2019/06/27 Python
Python生命游戏实现原理及过程解析(附源代码)
2019/08/01 Python
python 下载文件的几种方法汇总
2021/01/06 Python
使用Html5实现异步上传文件,支持跨域,带有上传进度条
2016/09/17 HTML / CSS
火山动力Java笔试题
2014/06/26 面试题
市级文明单位申报材料
2014/05/07 职场文书
淘宝店策划方案
2014/06/07 职场文书
小学生美德少年事迹材料
2014/08/24 职场文书
法务专员岗位职责
2015/02/14 职场文书
2015年三年级班主任工作总结
2015/05/21 职场文书
听课评课活动心得体会
2016/01/15 职场文书