1.前言
DataFrame虽然操作便利,但是DataFrame又有个不如意的地方就是不能针对表去进行设置格式(字体颜色、大小之类的),所以有的时候为了可以设置表的格式还是需要用那几个比较麻烦的 Excel模块。直到我遇到了StyleFrame模块,这个模块是把Pandas和openpyxl进行了结合,让你既可以享受DataFrame的操作便利,又可以轻松利用openpyxl进行表格样式设置。
接下来我们就看一看如何针对DataFrame表进行样式设置。要看怎么设置,我们得先看看可以设置什么。延续『对比Excel』特点,我们还是同样看看Excel中有哪些格式可以设置。
Excel中我们平常设置的主要有字体(类型、颜色、边框线、背景色、下划线、大小、加粗)、对齐方式(水平方向、垂直方向)、数字(数据显示格式,百分数、小数点位数、时间格式等设置)、条件格式四个部分。
2.准备工作
因为StyleFrame这个模块不是Anaconda自带的,所以需要我们手动进行安装。直接进行如下命令即可进行安装:
你也可以选择其他安装方式,关于包的安装方式可以看这篇:讲几种Python包的安装方式
如果你是python3.7,那么你直接运行上述命令可能会报错,因为pip默认安装的是该模块的最新版本(目前最新是2.0.2),但是最新版本可能不太兼容,这个时候你可以安装1.6.2版本(2.0版本尝试了也安装失败)的,我就是用的1.6.2版本安装成功的。安装命令如下:
安装好以后,我们需要新建一个StyleFrame供接下来使用,新建StyleFrame使用的方法与新建DataFrame用的一样。
需要注意的是这里的sf不同于DataFrame表的df,是不可以预览的。
3.设置样式对象
我们主要通过对下面的Styler进行样式设置。
以下为Styler对象的参数说明:
4.使用样式
设置完样式以后,我们就需要来指定在哪一行或哪一列上使用这个样式。
4.1在列上使用
在某一列上使用样式时需要用到如下方法:
参数说明如下:
4.2在行上使用
我们除了在某一列上设置样式外,我们有的时候要需要针对某些行进行样式设置,用到的方法如下:
参数说明如下:
5.字体设置
这一篇我们主要讲讲字体相关的设置,其他设置留在下一篇再讲。
5.1字体类型
第一个是关于字体类型的设置,也就是什么字体,关于字体类型设置使用的是font参数,主要有如下几种参数值(字体)可选:
字体类型中用的最多的就是arial,即微软雅黑。当我们把字体样式设置成Arial样式,实现代码如下:
我们用Excel打开设置样式后的文件,在字体类型那一栏就会显示Arial:
5.2颜色
第二个是关于字体颜色的设置,关于字体颜色设置使用的是font_color参数,主要有如下几种参数值(颜色)可选:
我们把col_1列的字体设置成绿色,col_2列字体设置成红色,实现代码如下:
最后效果如下:
5.3边框线
第三个是关于单元格边框线设置的,关于边框线的设置使用的border_type参数,主要有如下几种参数值(边框线类型)可选:
这里的边框线其实也是一种线,那既然是线的设置,就和我们之前学过的折线图里面线的设置大同小异了,大家可以根据自己的需求选择合适的线形。
我们把边框线设置成点划线,实现代码如下:
最后效果如下:
5.4背景色
第四个是关于背景色的设计,即单元格填充颜色,关于单元格背景颜色使用的是bg_color参数,单元格背景的可选颜色和字体颜色一致,这里不再赘述。
我们把col_1列的单元格背景设置成绿色,col_2列单元格背景设置成红色,实现代码如下:
最后效果如下:
5.5下划线
第五个是关于下划线设置,给字加下划线,关于下划线的设置使用的是underline参数,主要有如下几种参数值(下划线类型)可选:
我们把整表全部加单下划线,实现代码如下:
最后效果如下:
5.6字体大小
第六是字体大小的设置,字体大小的设置就比较简单了,直接给参数font_size指明一个具体数字就行。如下,我们将第一列设置成20号字体,将第二列设置成12号字体。实现代码如下:
最后效果如下:
5.7字体加粗
第七个是字体是否加粗的设置,关于字体是否加粗使用的是bold参数,如果要让字体加粗,另bold=True,否则不设置即可。
我们将第儿列字体进行加粗,第一列不进行设置,实现代码如下:
最后效果如下:
关于字体相关的设置,我们就讲到这里,下一篇开始讲一些其他方面的设置,敬请期待。