在DataFrame样式表设置的第一节DataFrame表样式设置(一)中我们讲了字体相关的一些设置,这一节我们讲一下,对齐方式、数字显示、条件格式相关的一些设置。
1.对齐方式
对齐方式主要有两种,一种是水平方向对齐,一种是垂直方向对齐。
1.1水平方向对齐
关于水平方向对齐情况使用的是horizontal_alignment参数,主要有如下几个参数值可选:
general = "general" #一般left = "left" #左对齐center = "center" #居中对齐right = "right" #右对齐fill = "fill" #填满单元格对齐justify = "justify" #两端对齐center_continuous = "centerContinuous"distributed = "distributed" #分散对齐#注意区分两端对齐和分散对齐
我们把col_1列设置成左对齐,col_2列设置成右对齐,col_3列设置成居中对齐,实现代码如下:
sf.apply_column_style(cols_to_style=["col_1"], styler_obj=Styler(horizontal_alignment="left"), style_header=True)sf.apply_column_style(cols_to_style=["col_2"], styler_obj=Styler(horizontal_alignment="right"), style_header=True)sf.apply_column_style(cols_to_style=["col_3"], styler_obj=Styler(horizontal_alignment="center"), style_header=True)ew = StyleFrame.ExcelWriter(r"my_excel.xlsx")sf.to_excel(ew)ew.save()
最后效果如下:
1.2垂直方向对齐
垂直方向对齐和水平方向对齐的原理一样,关于垂直对齐使用的是vertical_alignment参数,主要有如下几个参数值可选:
top = "top" #靠上对齐center = "center" #靠中对齐bottom = "bottom" #靠下对齐justify = "justify" #两端对齐distributed = "distributed" #分散对齐
2.数字显示
我们知道一个数字有不同的表现形式,可以是小数点也可以是百分数,可以设置保留两位小数点还可以设置保留三位小数点。我们要想设置数字的这些显示形式,需要用到number_format参数,主要有如下几个参数值可选:
general = "General" #对应Excel中的常规general_integer = "0" #不保留小数点 general_float = "0.00" #保留两位小数点percent = "0.0%" #百分数thousands_comma_sep = "#,##0" #千位分隔样式date = "DD/MM/YY" #年月日time_24_hours = "HH:MM" #小时分钟time_24_hours_with_seconds = "HH:MM:SS" #小时分钟秒time_12_hours = "h:MM AM/PM" #12小时分钟 上下午区分time_12_hours_with_seconds = "h:MM:SS AM/PM" #12小时分钟秒 上下午区分date_time = "DD/MM/YY HH:MM" #年月日时分date_time_with_seconds = "DD/MM/YY HH:MM:SS" #年月日时分秒
我们把col_1列设置成常规格式,col_2列设置成保留3位小数点,col_3列设置成百分数格式,实现代码如下:
sf.apply_column_style(cols_to_style=["col_1"], styler_obj=Styler(number_format="0"), style_header=True)sf.apply_column_style(cols_to_style=["col_2"], styler_obj=Styler(number_format="0.000"), style_header=True)sf.apply_column_style(cols_to_style=["col_3"], styler_obj=Styler(number_format="0.0%"), style_header=True)ew = StyleFrame.ExcelWriter(r"my_excel.xlsx")sf.to_excel(ew)ew.save()
最后效果如下:
3.条件格式
条件格式主要将满足条件的某些值重点突出显示出来,条件格式主要用在色阶显示中,可选的条件如下:
num = "num" #根据具体数值percent = "percent" #根据百分数max = "max" #根据最大值min = "min" #根据最小值formula = "formula" #根据公式percentile = "percentile" #根据分位数
色阶调整需要用到add_color_scale_conditional_formatting方法。
4.行宽列高设置
4.1设置列宽
设置列宽的时候,我们可以将整个表中所有列设置成一样的宽度,也可以不同列的列宽是不一样的。设置列宽不是通过设置Styler来设置的,而是在sf表上直接调用set_column_width和set_column_width_dict方法即可。
我们把整个表列宽都设置成10,实现代码如下:
sf.set_column_width(columns = ["col_1","col_2","col_3"],width=10)ew = StyleFrame.ExcelWriter(r"my_excel.xlsx")sf.to_excel(ew)ew.save()
最后效果如下:
我们把col_1列列宽设置成10,col_2列列宽设置成20,col_3列列宽设置成30,实现代码如下:
sf.set_column_width_dict(col_width_dict = {"col_1":10,"col_2":20,"col_3":30})ew = StyleFrame.ExcelWriter(r"my_excel.xlsx")sf.to_excel(ew)ew.save()
最后效果如下:
4.2设置行高
设置列宽与行高的原理是一样的,使用的方法是set_row_height和set_row_height_dict。
5.读取本地表
读取本地表就是我们可将本地的Excel文件读取进来,然后对其设置样式,也可以将本地Excel文件的样式读取进来。读取文件用到的方法是read_excel。
read_excel有如下参数:
需要注意的一点是,读取进来的本地表不可以进行预览,即你在Python里面是看不到长什么样子的。读取文件实例如下:
from StyleFrame import StyleFramesf=StyleFrame.read_excel(r"C:Usersmy_excel.xlsx")sf -------<StyleFrame.style_frame.StyleFrame at 0x287b4eca90>
6.保存到本地
将文件格式设置好了,我们就可以将文件导出到本地进行保存,保存文件用到的方法是to_excel。
to_excel有如下参数:
End.爱数据网专栏作者:张俊红作者介绍:一个数据科学路上的学习者、实践者、传播者个人公众号:俊红的数据分析之路
- 我的微信公众号
- 微信扫一扫
- 我的微信公众号
- 微信扫一扫
评论