python XlsxWriter模块创建aexcel表格的实例讲解


Posted in Python onMay 03, 2018

安装使用pip install XlsxWriter来安装,Xlsxwriter用来创建excel表格,功能很强大,下面具体介绍:

1.简单使用excel的实例:

#coding:utf-8
import xlsxwriter

workbook = xlsxwriter.Workbook('d:\\suq\\test\\demo1.xlsx') #创建一个excel文件
worksheet = workbook.add_worksheet('TEST') #在文件中创建一个名为TEST的sheet,不加名字默认为sheet1
 
worksheet.set_column('A:A',20) #设置第一列宽度为20像素
bold = workbook.add_format({'bold':True}) #设置一个加粗的格式对象
 
worksheet.write('A1','HELLO') #在A1单元格写上HELLO
worksheet.write('A2','WORLD',bold) #在A2上写上WORLD,并且设置为加粗
worksheet.write('B2',U'中文测试',bold) #在B2上写上中文加粗
 
worksheet.write(2,0,32) #使用行列的方式写上数字32,35,5
worksheet.write(3,0,35.5) #使用行列的时候第一行起始为0,所以2,0代表着第三行的第一列,等价于A4
worksheet.write(4,0,'=SUM(A3:A4)') #写上excel公式
worksheet.insert_image('B5','f:\\1.jpg') #插入一张图片
 
workbook.close()

2.常用方法说明

1.Workbook类

Workbook类创建一个XlsxWriter的Workbook对象,代表整个电子表格文件,存储到磁盘上.

add_worksheet():用来创建工作表,默认为sheet1

add_format():创建一个新的格式对象来格式化单元格,例如bold=workbook.add_format({'bold':True})

还可以使用set_bold,例如:bold=workbook.add_format() bold.set_bold()

#border:边框,align:对齐方式,bg_color:背景颜色,font_size:字体大小,bold:字体加粗
top = workbook.add_format({'border':1,'align':'center','bg_color':'cccccc','font_size':13,'bold':True})

add_chart(options):创建一个图表对象,内部是使用insert_chart()方法来实现的,options(dict类型)为图表指定一个字典属性

close():关闭文件

2.Worksheet类

worksheet代表一个Excel的工作表,是XlsxWriter的核心,下面是几个核心方法

write(row,col,*args):写普通数据到工作表的单元格,row行坐标,col列坐标,起始都是以0开始,*args为写入的内容,可以是字符串,文字,公式等,writer方法已经作为其它更具体数据类型方法的别名

write_string():写入字符串类型,worksheet.write_string(0,0,'your text')

write_number():写入数字类型,worksheet.write_number('A2',1.1)

write_blank():写入空类型数据,worksheet.write_blank('A2',None)

wirte_formula():写入公式类型,worksheet.write_formula(2,0,'=SUM(B1:B5))

write_datetime():写入日期类型数据,worksheet.write_datetime(7,0,datetime.datetime.strptime('2014-01-02','%Y-%m-%d),workbook.add_format({'num_format':'yyyy-mm-dd'}));

write_boolean():写入逻辑类数据,worksheet.write_boolean(0,0,True)

write_url():写入超链接类型数据,worksheet.write_url('A1','ftp://www.python.org')

write_column():写入到一列,后面接一个数组

wirte_row():写入到一行,后面接一个数组

set_row(row,height,cell_format,options):此方法设置行单元格的属性,row指定行位置,height指定高度,单位是像素,cell_format

指定格式对象,参数options设置hiddeen(隐藏),level(组合分级),collapsed(折叠,例如:

cell_format=workbook.add_format({'bold':True})

worksheet.set_row(0,40,cell_format) 设置第一行高40,加粗

set_column(first_col,last_col,width,cell_format,options):

设置列单元格的属性,具体参数说明如上.worksheet.set_column(0,1,10) worksheet.set_column('C:D',20)

insert_image(row,col,image[,options]):此方法是插入图片到指定单元格

例如插入一个图片的超链接为www.python.org

worksheet.insert_image('B5','f:\\1.jpg',{'url':'http://www.python.org'})

3.Chart类

Chart类实现XlsxWriter模块中的图标组件的基类,支持的图表类型包括面积,条形图,柱形图,折形图,饼图,散点图,股票和雷达. 一个图表对象是通过Workbook的add_chart方法创建,通过{type,'图表类型'}字典参数指定图表的类型,语句如下:

chart = workbook.add_chart({type,'column'}) #创建一个column图表

更多图表类型说明:

area:创建一个面积样式的图表;

bar:创建一个条形样式的图表;

column:创建一个柱形样式的图表;

line:创建一个线条样式的图表

pie:创建一个饼图样式的图表

scatter:创建一个散点样式的图表

stock:创建一个股票样式的图表;

radar:创建一个雷达央视的图表

然后通过insert_chart()方法插入到指定的位置,语句如下:

worksheet.insert_chart('A7',chart)

chart.add_series(options)方法,作用是添加一个数据系列到图表,参数options(dict类型)设置图表系列选项的字典,操作示例如下:

chart.add_series({
'categories':'=Sheet1!$A$$1:$A$5',
'values':'=Sheet1!$A$$1:$A$5',
'line':={'color':'red'}
})

categories,values,line最为常用,categories作用是设置图表类别标签范围;values是设置图表数据范围,line为设置图表线条属性,包括颜色宽度等.

set_x_axis(options):设置图表X轴选项,例如:

chart.set_x_axis({
'name':'EARNING per quarter',
'name_font':{'size':14,'bold':True},
'num_font':{'italic':True}
})

set_size(options):设置图表的大小,如

chart.set_size({'width':720,'height':576})

set_title(options):设置标题,如chart.set_title({'name':'TEST TITLE'}

set_style(style_id):设置图表样式,

set_table(options):设置x轴为数据表格式

下面是一个创建文件系统使用率的实例:

#coding:utf-8
 
import xlsxwriter
 
workbook = xlsxwriter.Workbook('d:\\suq\\test\\demo1.xlsx') #创建一个excel文件
worksheet = workbook.add_worksheet('sheet1') #在文件中创建一个sheet
#border:边框,align:对齐方式,bg_color:背景颜色,font_size:字体大小,bold:字体加粗 
top=workbook.add_format({'border':6,'align':'center','bg_color':'cccccc','font_size':13,'bold':True}) #设置单元格格式
title=[u'文件系统',u'总容量',u'使用大小',u'剩余大小'] #设置第一行标题信息
buname=['/dev/mapper/vg_basic-lv_root','tmpfs','/dev/sda1'] #设置左边第一排信息
 
worksheet.write_row('A1',title,top)
worksheet.write_column('A2',buname,top)
worksheet.set_column('A:D',40) #A到D列设置宽度,宽度设置必须是整列设置,高度必须是整行设置
#worksheet.set_row(0,40) #设置第一行高度为40像素
format_data=workbook.add_format({'align':'center','font_size':13}) #设置单元格格式
 
data=[[17678,4393,12388],[9768,8900,868],[24285,2715,21000]] #模拟文件系统的数据,data[0],[1],[2]分别表示全部空间,使用空间,剩余空间
worksheet.write_row('B2',data[0],format_data) #将数据写入,这里安装整行写入
worksheet.write_row('B3',data[1],format_data)
worksheet.write_row('B4',data[2],format_data)
 
chart=workbook.add_chart({'type':'column'}) #创建表格,表格类型为column
chart.set_title({'name':u'文件系统使用率'}) #设置表格的title
for i in ['B','C','D']:
chart.add_series({
'categories': 'sheet1!$A$2:$A$4',
'values':'sheet1!$'+i+'$2:$'+i+'$4',
'name':'=sheet1!$'+i+'$1'
})
#注意上面的表格中,每一行的数据在图中会显示在一起,也就是说values为B2:B4
 
chart.set_size({'width':800,'height':500}) #设置表格的大小
chart.set_y_axis({'name': 'MB'}) #设置表格y轴信息
#chart.set_style(33) #设置表格的样式
worksheet.insert_chart('A8',chart) #插入表格
workbook.close()

显示的图片结果如下:

python XlsxWriter模块创建aexcel表格的实例讲解

以上这篇python XlsxWriter模块创建aexcel表格的实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python cookielib 登录人人网的实现代码
Dec 19 Python
Python单元测试框架unittest使用方法讲解
Apr 13 Python
python实现批量改文件名称的方法
May 25 Python
浅析Python中的for 循环
Jun 09 Python
Python 3.7新功能之dataclass装饰器详解
Apr 21 Python
Python实现二叉树的常见遍历操作总结【7种方法】
Mar 06 Python
python flask框架实现重定向功能示例
Jul 02 Python
关于ZeroMQ 三种模式python3实现方式
Dec 23 Python
将matplotlib绘图嵌入pyqt的方法示例
Jan 08 Python
Python Numpy库常见用法入门教程
Jan 16 Python
Windows下实现将Pascal VOC转化为TFRecords
Feb 17 Python
python神经网络Xception模型
May 06 Python
Python 中的Selenium异常处理实例代码
May 03 #Python
Python读写/追加excel文件Demo分享
May 03 #Python
windows下安装Python的XlsxWriter模块方法
May 03 #Python
python使用openpyxl库修改excel表格数据方法
May 03 #Python
python实现跨excel的工作表sheet之间的复制方法
May 03 #Python
Python利用openpyxl库遍历Sheet的实例
May 03 #Python
python实现简单淘宝秒杀功能
May 03 #Python
You might like
ThinkPHP 表单自动验证运用示例
2014/10/13 PHP
PHP加密解密字符串汇总
2015/04/26 PHP
基于PHP实现等比压缩图片大小
2016/03/04 PHP
Win10 下安装配置IIS + MySQL + nginx + php7.1.7
2017/08/04 PHP
laravel 创建命令行命令的图文教程
2019/10/23 PHP
PHP7 新增常量
2021/03/09 PHP
选择TreeView控件的树状数据节点的JS方法(jquery)
2010/02/06 Javascript
文本框水印提示效果的简单实现代码
2014/02/22 Javascript
js写出遮罩层登陆框和对联广告并自动跟随滚动条滚动
2014/04/29 Javascript
js操作滚动条事件实例
2015/01/29 Javascript
简单介绍jsonp 使用小结
2016/01/27 Javascript
AngularJS ng-change 指令的详解及简单实例
2016/07/30 Javascript
nodejs接入阿里大鱼短信验证码的方法
2017/07/10 NodeJs
JS实现同一DOM元素上onClick事件与onDblClick事件并存的解决方法
2018/06/07 Javascript
原生js实现Flappy Bird小游戏
2018/12/24 Javascript
图解javascript作用域链
2019/05/27 Javascript
一些可能会用到的Node.js面试题
2019/06/15 Javascript
vue 解决异步数据更新问题
2019/10/29 Javascript
详解vue之自行实现派发与广播(dispatch与broadcast)
2021/01/19 Vue.js
[59:00]DOTA2-DPC中国联赛 正赛 Ehome vs PSG.LGD BO3 第一场 3月7日
2021/03/11 DOTA
Python2.x利用commands模块执行Linux shell命令
2016/03/11 Python
Python3中的真除和Floor除法用法分析
2016/03/16 Python
使用anaconda的pip安装第三方python包的操作步骤
2018/06/11 Python
Python 实现OpenCV格式和PIL.Image格式互转
2020/01/09 Python
Python实现投影法分割图像示例(二)
2020/01/17 Python
Python 文件数据读写的具体实现
2020/01/24 Python
pycharm激活码快速激活及使用步骤
2020/03/12 Python
python3检查字典传入函数键是否齐全的实例
2020/06/05 Python
CSS3的Border-radius轻松制作圆角
2012/12/24 HTML / CSS
纯CSS改变webkit内核浏览器的滚动条样式
2014/04/17 HTML / CSS
药剂专业求职信
2014/06/20 职场文书
简单的辞职信范文(2016最新版)
2015/05/12 职场文书
《走遍天下书为侣》教学反思
2016/02/22 职场文书
如何书写你的职业生涯规划书?
2019/06/27 职场文书
优秀范文:《但愿人长久》教学反思3篇
2019/10/24 职场文书
MySQL获取所有分类的前N条记录
2021/05/07 MySQL