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使用Socket(Https)Post登录百度的实现代码
May 18 Python
Python编程实现及时获取新邮件的方法示例
Aug 10 Python
对pandas进行数据预处理的实例讲解
Apr 20 Python
python3使用flask编写注册post接口的方法
Dec 28 Python
Django自定义用户登录认证示例代码
Jun 30 Python
Mac 使用python3的matplot画图不显示的解决
Nov 23 Python
python操作gitlab API过程解析
Dec 27 Python
PyTorch中 tensor.detach() 和 tensor.data 的区别详解
Jan 06 Python
python 5个实用的技巧
Sep 27 Python
使用Python制作一个数据预处理小工具(多种操作一键完成)
Feb 07 Python
Python实现Excel自动分组合并单元格
Feb 22 Python
Python实现对齐打印 format函数的用法
Apr 28 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怎样调用MSSQL的存储过程
2006/10/09 PHP
PHP 加密/解密函数 dencrypt(动态密文,带压缩功能,支持中文)
2009/01/30 PHP
PHP消息队列用法实例分析
2016/02/12 PHP
php支付宝在线支付接口开发教程
2016/09/19 PHP
关于Yii中模型场景的一些简单介绍
2019/09/22 PHP
PHP7.0连接DB操作实例分析【基于mysqli】
2019/09/26 PHP
javascritp实现input输入框相关限制用法
2007/06/29 Javascript
对字符串进行HTML编码和解码的JavaScript函数
2010/02/01 Javascript
基于jQuery的弹出消息插件 DivAlert之旅(一)
2010/04/01 Javascript
JS对象与JSON格式数据相互转换
2012/02/20 Javascript
解决Jquery向页面append新元素之后事件的绑定问题
2015/03/16 Javascript
JS实现带有抽屉效果的产品类网站多级导航菜单代码
2015/09/15 Javascript
详解angular2封装material2对话框组件
2017/03/03 Javascript
详解Vue生命周期的示例
2017/03/10 Javascript
详解使用React全家桶搭建一个后台管理系统
2017/11/04 Javascript
angularJs 表格添加删除修改查询方法
2018/02/27 Javascript
改变vue请求过来的数据中的某一项值的方法(详解)
2018/03/08 Javascript
js的Object.assign用法示例分析
2020/03/05 Javascript
js实现星星海特效的示例
2020/09/28 Javascript
[28:57]EG vs VGJ.T 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/16 DOTA
Python中用psycopg2模块操作PostgreSQL方法
2017/11/28 Python
python的常用模块之collections模块详解
2018/12/06 Python
Python流行ORM框架sqlalchemy安装与使用教程
2019/06/04 Python
用python求一个数组的和与平均值的实现方法
2019/06/29 Python
使用PyTorch实现MNIST手写体识别代码
2020/01/18 Python
HTML5全屏(Fullscreen)API详细介绍
2015/04/24 HTML / CSS
Boda Skins皮衣官网:奢侈皮夹克,全球配送
2016/12/15 全球购物
eBay意大利购物网站:eBay.it
2019/09/04 全球购物
写出程序把一个链表中的接点顺序倒排
2014/04/28 面试题
教师个人的自我评价分享
2014/01/02 职场文书
环保专项行动方案
2014/05/12 职场文书
优秀党支部书记事迹材料
2014/05/29 职场文书
创业计划之特色精品店
2019/08/12 职场文书
XX部保密工作制度范本
2019/08/27 职场文书
导游词之西安大清真寺
2019/12/17 职场文书
Python如何导出导入所有依赖包详解
2021/06/08 Python