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中装饰器的用法
Apr 27 Python
numpy.linspace 生成等差数组的方法
Jul 02 Python
使用Selenium破解新浪微博的四宫格验证码
Oct 19 Python
OpenCV图像颜色反转算法详解
May 13 Python
numpy.linalg.eig() 计算矩阵特征向量方式
Nov 29 Python
Python调用钉钉自定义机器人的实现
Jan 03 Python
判断Threading.start新线程是否执行完毕的实例
May 02 Python
你应该知道的Python3.6、3.7、3.8新特性小结
May 12 Python
Python模拟登入的N种方式(建议收藏)
May 31 Python
如何在python中实现线性回归
Aug 10 Python
Python 爬取淘宝商品信息栏目的实现
Feb 06 Python
python实现MySQL指定表增量同步数据到clickhouse的脚本
Feb 26 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
web方式ftp
2006/10/09 PHP
php实现统计邮件大小的方法
2013/08/06 PHP
php在apache环境下实现gzip配置方法
2015/04/02 PHP
UPUPW 更新 64 位 Apache 系列 PHP 7.0 正式版
2015/12/08 PHP
PHP类与对象后期静态绑定操作实例详解
2018/12/20 PHP
如何用js控制frame的隐藏或显示的解决办法
2013/03/20 Javascript
jQuery操作checkbox选择(list/table)
2013/04/07 Javascript
JavaScript根据数据生成百分比图和柱状图的实例代码
2013/07/14 Javascript
Javascript中的apply()方法浅析
2015/03/15 Javascript
微信小程序 rpx 尺寸单位详细介绍
2016/10/13 Javascript
Vue.js组件使用开发实例教程
2016/11/01 Javascript
JavaScript易错知识点整理
2016/12/05 Javascript
微信小程序 登陆流程详细介绍
2017/01/17 Javascript
jQuery实现的粘性滚动导航栏效果实例【附源码下载】
2017/10/19 jQuery
jQuery实现右侧抽屉式在线客服功能
2017/12/25 jQuery
深入理解 Koa 框架中间件原理
2018/10/18 Javascript
python学习之第三方包安装方法(两种方法)
2015/07/30 Python
python安装PIL模块时Unable to find vcvarsall.bat错误的解决方法
2016/09/19 Python
基于python socketserver框架全面解析
2017/09/21 Python
python运行时强制刷新缓冲区的方法
2019/01/14 Python
Python数据报表之Excel操作模块用法分析
2019/03/11 Python
python3.4 将16进制转成字符串的实例
2019/06/12 Python
Python的控制结构之For、While、If循环问题
2020/06/30 Python
python装饰器三种装饰模式的简单分析
2020/09/04 Python
css3简单练习实现遨游浏览器logo的绘制
2013/01/30 HTML / CSS
html5 Canvas画图教程(6)—canvas里画曲线之arcTo方法
2013/01/09 HTML / CSS
检测浏览器对HTML5和CSS3支持度的方法
2015/06/25 HTML / CSS
详解HTML5 Canvas绘制时指定颜色与透明度的方法
2016/03/25 HTML / CSS
英国性能汽车零件和发动机配件在线:Maxpeedingrods
2019/11/05 全球购物
工作建议书范文
2014/05/13 职场文书
影视广告专业求职信
2014/09/02 职场文书
教师党的群众路线教育实践活动个人整改措施
2014/11/04 职场文书
2014年服务行业工作总结
2014/11/18 职场文书
《曹冲称象》教学反思
2016/02/20 职场文书
HTML+VUE分页实现炫酷物联网大屏功能
2021/05/27 Vue.js
MySQL七种JOIN类型小结
2021/10/24 MySQL