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列表list数组array用法实例解析
Oct 28 Python
Python实现测试磁盘性能的方法
Mar 12 Python
python使用str & repr转换字符串
Oct 13 Python
win10下tensorflow和matplotlib安装教程
Sep 19 Python
python实现画五角星和螺旋线的示例
Jan 20 Python
python GUI库图形界面开发之PyQt5浏览器控件QWebEngineView详细使用方法
Feb 26 Python
学习Python列表的基础知识汇总
Mar 10 Python
python实现数字炸弹游戏
Jul 17 Python
python“静态”变量、实例变量与本地变量的声明示例
Nov 13 Python
关于Python 解决Python3.9 pandas.read_excel(‘xxx.xlsx‘)报错的问题
Nov 28 Python
opencv读取视频并保存图像的方法
Jun 04 Python
Python内置数据类型中的集合详解
Mar 18 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数组应该有多大的分析
2009/07/30 PHP
PHP 基本语法格式
2009/12/15 PHP
php处理文件的小例子(解压缩,删除目录)
2013/02/03 PHP
浅析php中jsonp的跨域实例
2013/06/21 PHP
浅析application/x-www-form-urlencoded和multipart/form-data的区别
2014/06/22 PHP
smarty模板引擎之分配数据类型
2015/03/30 PHP
php生成mysql的数据字典
2016/07/07 PHP
php cookie工作原理与实例详解
2016/07/18 PHP
PHP 代码简洁之道(小结)
2019/10/16 PHP
js调用iframe实现打印页面内容的方法
2014/03/04 Javascript
jquery实现简单的banner轮播效果【实例】
2016/03/30 Javascript
Ionic实现页面下拉刷新(ion-refresher)功能代码
2016/06/03 Javascript
Javascript highcharts 饼图显示数量和百分比实例代码
2016/12/06 Javascript
vue v-model动态生成详解
2018/06/30 Javascript
spring+angular实现导出excel的实现代码
2019/02/27 Javascript
python备份文件的脚本
2008/08/11 Python
python基础教程之元组操作使用详解
2014/03/25 Python
python网络编程学习笔记(七):HTML和XHTML解析(HTMLParser、BeautifulSoup)
2014/06/09 Python
Python中处理unchecked未捕获异常实例
2015/01/17 Python
Python实现分割文件及合并文件的方法
2015/07/10 Python
Python实现的视频播放器功能完整示例
2018/02/01 Python
pandas按若干个列的组合条件筛选数据的方法
2018/04/11 Python
pytorch cnn 识别手写的字实现自建图片数据
2018/05/20 Python
Django使用 Bootstrap 样式修改书籍列表过程解析
2019/08/09 Python
浅谈keras中自定义二分类任务评价指标metrics的方法以及代码
2020/06/11 Python
解决import tensorflow导致jupyter内核死亡的问题
2021/02/06 Python
使用iframe+postMessage实现页面跨域通信的示例代码
2020/01/14 HTML / CSS
马来西亚最热门的在线时尚商店:FashionValet
2018/11/11 全球购物
迪奥美国官网:Dior美国
2019/12/07 全球购物
Lancer Skincare官方网站:抗衰老皮肤护理
2020/11/20 全球购物
简述进程的启动、终止的方式以及如何进行进程的查看
2013/07/12 面试题
运动会入场式解说词
2014/02/18 职场文书
入党积极分子对十八届四中全会期盼的思想汇报
2014/10/17 职场文书
Apache Calcite 实现方言转换的代码
2021/04/24 Servers
分析Python感知线程状态的解决方案之Event与信号量
2021/06/16 Python
Javascript webpack动态import
2022/04/19 Javascript