写在前面
今天六一儿童节,可惜小编已不再孩童,不过仍希望能够保持一颗孩提时代的好奇与探索之心。上期文章中,小编和大脚聊了一下ggplot2中的快速绘图函数qplot,了解了qplot在作图时的快捷便利,在一定程度上也可以将其当作是ggplot2的快速入门,更多细节描述与介绍小编会在后续文章中一一介绍。而在本文中,小编准备和大家聊一下python中操作Excel的一个第三方库xlsxwriter的一些具体细节,本文将主要围绕xlsxwriter库中的workbook进行展开,着重介绍这类命令下的相关操作命令,下面正式开始。
xlsxwriter中的workbook操作
Workbook绝对是xlsxwriter中最基本的操作类,也绝对是你接触xlsxwriter的第一类操作类,所以对于它的讲解自然就需要放在第一位。Workbook,中文名称工作簿,是Excel的基本构成,对此相信小编不需要多做介绍吧。下面小编将主要介绍这个命令操作类下的13种最常用的操作命令。
Workbook命令
Workbook命令是你使用xlsxwriter操作Excel接触到的第一个命令,它就是用来创建一个工作簿的,基本命令语法是:
Workbook(filename[,options])
filename——所创建的Excel工作簿的名词,记得加上xlsx后缀
options——可选参数,以字典形式进行指定。因为很多参数类型,你在日常中用到的很少,这里就不予以详述,真正需要的朋友可以参照官方文档。
同时这里需要说明的一点是包含在[]的内容均为可选参数,下文亦同。
上面代码第一行导入xlsxwriter库,第二行建立一个名为hello_xlsxwriter的Excel文件;第三行是在建立Excel文件同时为其指定相应选项,这里是将参数设置为数字字符转变为数字。你真正需要掌握的是第一种形式,第二种形式很少用。
workbook.add_worksheet()命令
workbook.add_worksheeet()命令是用来创建工作表的,这个概念我不需要解释吧。一般的命令用法为:
workbook.add_sheeet([name])
name——工作表名,这个参数是可选的,默认建立的工作表名称就是Sheet1,Sheet2等。
这样便在刚刚建立的工作簿中创建了三张工作表,名字分别为Sheet1,数据,Sheet3。
workbook.add_format()
关于这个命令,小编在前面已经提及过了,它的主要目的就是用来设置各种格式进而运用到单元格之中,基本语法为:
workbook.add_format([properties])
properties——格式属性,以字典形式存在
第一行代码创建了格式黑体,而第二行代码则创建了一种货币格式,即在数字前面加上人民币的¥。Excel中用于设置的格式很多,小编会在后面专门用一期文章进行介绍。
workbook.add_chart()
workbook.add_chart()命令用来在Excel中创建图表,这个估计也是你将最为常用的的命令之一了,其语法命令为:
workbook.add_chart(options)
options主要有两种参数,type和subtype,type用来指定图表类型,而subtype则用来指定图表子类型。
第一行代码绘制了一副折线图;而第二行代码则绘制了一副堆积条形图。用这这一命令目前可以在Excel中主要绘制以下几种图形。
area:面积图
bar:条形图
column:直方图
doughnut:环状图
line:折线图
pie:饼状图
scatter:散点图
radar:雷达图
stock:箱线图
使用时仅仅需要将命令参数中type对应的值进行改变即可。
workbook.add_chartsheet()
workbook.add_chartsheet()命令有点类似workbook.add_chart(),不过正如它的名字所显示的那样,这个命令插入的图表自成一张工作表,这在工作中有时是比较便利的。其语法格式为:
workbook.add_chartsheet([sheetname])
命令中的参数正如workbook.add_sheet()中的参数一样,所以这里不再赘述。
workbook.close()
workbook.close()命令用于关闭工作簿,这个命令是使用xlsxwriter操作Excel的最后一条命令,最好要记住使用这条命令关闭工作簿。
workbook.set_properties()
workbook.set_properties()命令用来设置工作簿的相关属性值,例如工作簿的作者、机构、名称等等。命令中的参数要以字典的形式予以给出,见下例。
属性值主要包含:
title:标题
subject:所属项目
author:作者
manager:维护者
company:公司
category:类别
keywords:关键字
comments:注释
status:状态
hyperlink_base:超链接
create:用于创建日期
可见平时我们在操作Excel的过程中忽略了太多的东西了呀。
workbook.define_name()
workbook.define_name()命令用于在工作簿中创建自定义对象,这个命令的作用就是为了方便工作表中单元格之间的引用,其语法格式为:
workbook.define_name(name,value)
至于命令中参数下面直接用例子进行说明。
第一行代码定义了一个Exchange_rate,将其值定义为0.96;第二行代码定义了一个Sales1对象,其值为同工作表中的部分工作区间;第三行代码创建了一个Sales2对象,其值为Sheet2工作表中局部工作区间。
workbook.add_vba_project()和workbook.set_vba_name()
workbook.add_vba_project()和workbook.set_vba_name()这两个函数主要用来在Excel中插入vba以及为其命名,对于这两个函数会在后面详细介绍,这里就暂时不予以展开。
workbook.worksheets()
workbook.worksheets()用于获得当前工作簿中的所有工作表,这个函数的存在便利了对于工作表的循环操作,如果你想在当前工作簿的所有工作表的A1单元格中输入一个字符创‘Hello xlsxwriter’,那么这个命令就派上用场了。
所以少年,记住这个命令吧!
workbook.get_worksheet_by_name()
workbook.get_worksheet_by_name()命令用于根据工作表名称获得相应的工作表,其语法格式为:
workbook.get_worksheet_by_name(name)
其中的参数这里应该不需要再进行解释了,下面给出一个例子。
上面代码分别获取了在前面创建的三个工作表,这个命令对于变更操作对象十分有用。
workbook.set_calc_mode()
workbook.set_calc_mode()命令用来设置工作簿中的计算模式,默认情况下计算模式是自动的,然而有时你需要自己手动进行计算更新,此时就需要进行参数设置。这个参数的三种模式为:
auto:默认模式,自动更新Excel中的计算
manual:手动进行计算更新
auto_except_tables:自动更新除了Excel表格外的计算
示例
上面对workbook常用的一些操作命令进行了介绍,这里用一个例子进行概括。
xlsxwriter操作示例
后记
本文讲到这里就暂时告一段落了,本期文章介绍了xlsxwriter模块中的workbook命令,熟悉了这类命令中的十三种常用命令,为python高效操作Excel奠定了基础,后续会依次补充完整这一系列的相关细节介绍。下期文章将和大家聊一下怎么使用python去绘制热地图,敬请期待。再次感谢你们的支持与鼓励,你们的陪伴是小编前进的动力!
领取专属 10元无门槛券
私享最新 技术干货