Python pandas styleframe API文档 class Styler(bg_color=None, bold=False, font=utils.fonts.arial, font_size=12, font_color=None, number_format=utils.number_formats.general, protection=False, underline=None, border_type=utils.borders.thin, horizontal_alignment=utils.horizontal_alignments.center, vertical_alignment=utils.vertical_alignments.center, wrap_text=True, shrink_to_fit=True, fill_pattern_type=utils.fill_pattern_types.solid, indent=0, comment_author=None, comment_text=None, text_rotation=0)
用于表示样式。
:param bg_color:背景颜色
:type bg_color:str:utils.colors <utils.colors_>`中的一种,十六进制字符串或颜色名称,即“ yellow” Excel支持
:param bool bold:如果为True,则使用粗体
:param font:使用的字体
:type字体:str:utils.fonts <utils.fonts_>`或Excel支持的其他字体名称之一
:param int font_size:字体大小
:param font_color:字体颜色
:type font_color:str:utils.colors <utils.colors_>`之一,十六进制字符串或颜色名称,即'yellow'Excel支持
:param number_format:单元格值的格式
:type number_format:str::utils.number_formats <utils.number_formats_>`或Excel支持的任何其他格式之一
:param bool protection:如果为True,则对单元格/列进行写保护
:param下划线:下划线类型
:type underline:str::utils.underline <utils.underline_>`或Excel支持的任何其他下划线之一
:param border_type:边框类型
:type border_type:str:utils.borders <utils.borders_>`或Excel支持的任何其他边框类型之一
:param horizontal_alignment:文本的水平对齐方式
:type horizontal_alignment:str:utils.horizontal_alignments <utils.horizontal_alignments_>`或Excel支持的任何其他水平对齐方式之一
:param vertical_alignment:文本的垂直对齐方式
:type vertical_alignment:str:utils.vertical_alignments <utils.vertical_alignments_>`或Excel支持的任何其他垂直对齐方式之一
:param bool wrap_text:
:param boolrinkle_to_fit:
:param fill_pattern_type:单元格的填充模式类型
:type fill_pattern_type:str:utils.fill_pattern_types <utils.fill_pattern_types_>之一或Excel支持的任何其他填充模式类型
:param int缩进:
:param str comment_author:
:param str comment_text:
:param int text_rotation:整数,范围0-180
.. py:method :: Combine(styles)
一种用于组合:ref:`Styler <styler-class>`对象的类方法。最右边的对象具有优先权。
例如:
::
Styler.combine(Styler(bg_color ='yellow',font_size = 24),Styler(bg_color ='blue'))
将返回
::
样式器(bg_color ='blue',font_size = 24)
:param样式:Styler对象的可迭代
:type样式:列表或元组或集合
:返回:自我
:rtype::ref:`Styler <styler-class>`
.. py:method :: to_openpyxl_style
:return:`openpyxl`样式的对象。
实用程序 … py:module :: utils
utils模块包含用于样式元素(例如颜色和边框类型)的最广泛使用的值,以方便使用。只要Excel可以识别,就可以直接使用utils模块中不存在的值。
… py:class :: number_formats
.. py:attribute :: general ='General'
.. py:attribute :: general_integer ='0'
.. py:attribute :: general_float ='0.00'
.. py:attribute :: percent ='0.0%'
.. py:attribute :: Millennium_comma_sep ='#,## 0'
.. py:attribute :: date ='DD / MM / YY'
.. py:attribute :: time_24_hours ='HH:MM'
.. py:attribute :: time_24_hours_with_seconds ='HH:MM:SS'
.. py:attribute :: time_12_hours ='h:MM AM / PM'
.. py:attribute :: time_12_hours_with_seconds ='h:MM:SS AM / PM'
.. py:attribute :: date_time ='DD / MM / YY HH:MM'
.. py:attribute :: date_time_with_seconds ='DD / MM / YY HH:MM:SS'
.. py:method :: decimal_with_num_of_digits(num_of_digits)
:param int num_of_digits:小数点后的位数
:return:一个格式字符串,表示一个浮点数,并在后面加上提供的位数
小数点。例如,utils.number_formats.decimal_with_num_of_digits(2)将返回``0.00''
:rtype:str
… py:class ::颜色
… py:attribute :: white = op_colors.WHITE
… py:attribute :: blue = op_colors.BLUE
… py:attribute :: dark_blue = op_colors.DARKBLUE
… py:attribute :: yellow = op_colors.YELLOW
… py:attribute :: dark_yellow = op_colors.DARKYELLOW
… py:attribute :: green = op_colors.GREEN
… py:attribute :: dark_green = op_colors.DARKGREEN
… py:attribute :: black = op_colors.BLACK
… py:attribute :: red = op_colors.RED
… py:attribute :: dark_red = op_colors.DARKRED
… py:attribute :: purple =‘800080’
… py:attribute :: gray =‘D3D3D3’
… py:class ::字体
… py:attribute :: aegean =‘Aegean’
… py:attribute :: aegyptus =‘Aegyptus’
… py:attribute :: aharoni =‘Aharoni CLM’
… py:attribute :: anaktoria =‘Anaktoria’
… py:attribute :: analecta =‘Analecta’
… py:attribute :: anatolian =‘Anatolian’
… py:attribute :: arial =‘Arial’
… py:attribute :: calibri =‘Calibri’
… py:attribute :: david =‘David CLM’
… py:attribute :: dejavu_sans =‘DejaVu Sans’
… py:attribute :: ellinia =‘Ellinia CLM’
… py:class ::边框
… py:attribute :: dash_dot =‘dashDot’
… py:attribute :: dash_dot_dot =‘dashDotDot’
… py:attribute :: dashed =‘dashed’
… py:attribute :: dotted =‘dotted’
… py:attribute :: double =‘double’
… py:attribute :: hair =‘hair’
… py:attribute :: medium =‘medium’
… py:attribute :: medium_dash_dot =‘mediumDashDot’
… py:attribute :: medium_dash_dot_dot =‘mediumDashDotDot’
… py:attribute :: medium_dashed =‘mediumDashed’
… py:attribute :: slant_dash_dot =‘slantDashDot’
… py:attribute :: Thick =‘thick’
… py:attribute :: thin =‘thin’
… py:class :: horizontal_alignments
.. py:attribute :: general ='general'
.. py:attribute :: left ='left'
.. py:attribute :: center ='center'
.. py:attribute :: right ='right'
.. py:attribute :: fill ='fill'
.. py:attribute :: justify ='justify'
.. py:attribute :: center_continuous ='centerContinuous'
.. py:attribute :: distributed ='distributed'
… py:class :: vertical_alignments
.. py:attribute :: top ='top'
.. py:attribute :: center ='center'
.. py:attribute :: bottom ='bottom'
.. py:attribute :: justify ='justify'
.. py:attribute :: distributed ='distributed'
… py:class ::下划线
… py:attribute :: single =‘single’ … py:attribute :: double =‘double’
… py:class :: fill_pattern_types
… py:attribute :: solid =‘solid’
… py:attribute :: dark_down =‘darkDown’
… py:attribute :: dark_gray =‘darkGray’
… py:attribute :: dark_grid =‘darkGrid’
… py:attribute :: dark_horizontal =‘darkHorizontal’
… py:attribute :: dark_trellis =‘darkTrellis’
… py:attribute :: dark_up =‘darkUp’
… py:attribute :: dark_vertical =‘darkVertical’
… py:attribute :: gray0625 =‘gray0625’
… py:attribute :: gray125 =‘gray125’
… py:attribute :: light_down =‘lightDown’
… py:attribute :: light_gray =‘lightGray’
… py:attribute :: light_grid =‘lightGrid’
… py:attribute :: light_horizontal =‘lightHorizontal’
… py:attribute :: light_trellis =‘lightTrellis’
… py:attribute :: light_up =‘lightUp’
… py:attribute :: light_vertical =‘lightVertical’
… py:attribute :: medium_gray =‘mediumGray’
… py:class :: conditional_formatting_types
.. py:attribute :: num ='num'
.. py:attribute :: percent ='percent'
.. py:attribute :: max ='max'
.. py:attribute :: min ='min'
.. py:attribute :: Formula ='Formula'
.. py:attribute :: percentile ='percentile'
样式框 … py:module :: StyleFrame
StyleFrame模块包含一个类StyleFrame,该类作为主要交互点作为服务器。
… py:class :: StyleFrame(obj,styler_obj = None)
代表一个程式化的数据框
:param obj:可以使用以下方式初始化pandas数据框的任何对象:现有数据框,字典,
词典列表或另一个StyleFrame。
:param styler_obj:一个Styler对象。将用作所有单元格的默认样式。
:type styler_obj::ref:`Styler <styler-class>`
.. _apply_style_by_indexes_:
.. py:method :: apply_style_by_indexes(indexes_to_style,styler_obj,cols_to_style = None,height = None,complement_style = None,complement_height = None,overwrite_default_style = True)
:param index_to_style:要样式的StyleFrame索引。通常作为选择语法的熊猫传递。
例如,“ sf [sf ['some_col'] = 20]”
:typeindex_to_style:列表或元组或整数或容器
:param styler_obj:`Styler`对象,其中包含将应用于indexes_to_style`中的索引的样式
:type styler_obj::ref:`Styler <styler-class>`
:param cols_to_style:应用于提供的样式的列名。如果为``无'',则所有列都将被设置样式。
:type cols_to_style:无或str或list [str]或tuple [str]或set [str]
:param height:如果提供,则其索引为indexs_to_style的行的高度。
:type高度:无,整数或浮点数
:paramcomplement_style:`Styler`对象,该对象包含将应用于不在`indexes_to_style`中的索引的样式
:typeSupplement_style:无或:ref:`Styler <styler-class>`
:paramcomplement_height:索引不在indexs_to_style中的行的高度。如果未提供,则
将使用“高度”(如果提供)。
:typecomplement_height:无,整型或浮点型
:param bool overwrite_default_style:如果为True,则为默认样式(初始化StyleFrame时使用的样式)
将被覆盖。如果为False,则默认样式和提供的样式将使用
Styler.combine方法。
:返回:自我
:rtype:StyleFrame
.. py:method :: apply_column_style(cols_to_style,styler_obj,style_header = False,use_default_formats = True,width = None,overwrite_default_style = True)
:param cols_to_style:要设置样式的列名。
:type cols_to_style:str或list或tuple或set
:param styler_obj:一个`Styler`对象。
:type styler_obj::ref:`Styler <styler-class>`
:param bool style_header:如果为True,则列标题也将被设置样式。
:param bool use_default_formats:如果为True,则将使用日期和时间的默认格式。
:param width:如果提供,则指定列的新宽度。
:type width:无或整型或浮点型
:param bool overwrite_default_style:(bool)如果为True,则为默认样式(初始化StyleFrame时使用的样式)
将被覆盖。如果为False,则默认样式和提供的样式将使用
Styler.combine方法。
:返回:自我
:rtype:StyleFrame
.. py:method :: apply_headers_style(styler_obj,style_index_header,cols_to_style)
:param styler_obj:一个`Styler`对象。
:type styler_obj::ref:`Styler <styler-class>`
:param bool style_index_header:如果为True,则样式也将应用于索引列的标题
:param cols_to_style:要应用样式的列,如果未提供,则所有列都将被设置样式
:type cols_to_style:无或str或list [str]或tuple [str]或set [str]
:返回:自我
:rtype:StyleFrame
.. py:method :: style_alternate_rows(styles)
..注意:: style_alternate_rows也会接受所有引用的参数,例如ref:`StyleFrame.apply_style_by_indexes <apply_style_by_indexes_>接受为kwargs。
:param styles:以交替方式应用于行的Styler <styler-class>对象的列表,元组或集合
:type styles:list [:ref:`Styler <styler-class>`]或tuple [:ref:`Styler <styler-class>`]或set [:ref:`Styler <styler-class>`]
:返回:自我
:rtype:StyleFrame
.. py:method :: rename(columns,inplace = False)
:param dict columns:从旧列名称到新列名称的字典。
:param bool inplace:如果为False,将返回一个新的StyleFrame对象。如果为True,则将列重命名为原位。
:return:self如果inplace为True,则新的StyleFrame对象为False
:rtype:StyleFrame
.. py:method :: set_column_width(columns,width)
:param列:列名。
:type列:str或list [str]或tuple [str]
:param width:指定列的新宽度。
:type width:int或float
:返回:自我
:rtype:StyleFrame
.. py:method :: set_column_width_dict(col_width_dict)
:param col_width_dict:从列名到宽度的字典。
:type col_width_dict:dict [str,int or float]
:返回:自我
:rtype:StyleFrame
.. py:method :: set_row_height(rows,height)
:param rows:行索引。
:type行:int或list [int]或tuple [int]或set [int]
:param height:指定索引的新高度。
:type高度:int或float
:返回:自我
:rtype:StyleFrame
.. py:method :: set_row_height_dict(row_height_dict)
:param row_height_dict:从行索引到高度的字典。
:type row_height_dict:dict [int,int or float]
:返回:自我
:rtype:StyleFrame
.. py:method :: add_color_scale_conditional_formatting(start_type,start_value,start_color,end_type,end_value,end_color,mid_type = None,mid_value = None,mid_color = None,columns_range = None
:param start_type:最小范围的类型
:type start_type:str:utils.conditional_formatting_types <utils.conditional_formatting_types_>`或Excel支持的任何其他类型之一
:param start_value:最小界限的阈值
:param start_color:最小界限的颜色
:type start_color:str::ref:`utils.colors <utils.colors_>`中的一种,十六进制字符串或颜色名称,即'yellow'Excel支持
:param end_type:最大界限的类型
:type end_type:str:utils.conditional_formatting_types <utils.conditional_formatting_types_>`或Excel支持的任何其他类型之一
:param end_value:最大界限的阈值
:param end_color:最大界限的颜色
:type end_color:str::ref:`utils.colors <utils.colors_>`中的一种,十六进制字符串或颜色名称,即Excel支持的'yellow'
:param mid_type:中间界限的类型
:type mid_type:None或str::utils.conditional_formatting_types <utils.conditional_formatting_types_>`或Excel支持的任何其他类型之一
:param mid_value:中间界限的阈值
:param mid_color:中间边界的颜色
:type mid_color:None或str::ref:`utils.colors <utils.colors_>`,十六进制字符串或颜色名称之一,即Excel支持的'yellow'
:param columns_range:两个元素的列表或元组,将向其中添加条件格式
至。
如果根本不提供,则条件格式将添加到所有列。
如果提供单个元素,则条件格式将添加到提供的列中。
如果提供了两个元素,则条件格式将在第一列开始,在第二列结束。
提供的列可以是列名称,字母或索引。
:type columns_range:无或列表[str或int]或元组[str或int])
:返回:自我
:rtype:StyleFrame
.. py:method :: read_excel(路径,sheet_name = 0,read_style = False,use_openpyxl_styles = False,read_comments = False)
用于从现有Excel创建StyleFrame对象的类方法。
..注意:: read_excel还将接受pandas.read_excel接受为kwargs的所有参数。
:param str path:要读取的Excel文件的路径。
:参数工作表名称:
..不推荐使用:: 1.6
使用``sheet_name``代替。
:param sheet_name:要读取的工作表名称。如果提供整数,则将其用作从零开始的整数
工作表索引。默认值为0。
:type sheet_name:str或int
:param bool read_style:如果为True,则工作表的样式将加载到返回的StyleFrame对象中。
:param bool use_openpyxl_styles:如果`True`(并且`read_style`也是`True`),则返回的样式
StyleFrame对象将是Openpyxl的样式对象。如果为False,则样式为:ref:`Styler <styler-class>`对象。
..注意:如果要按样式过滤列或行,则使用use_openpyxl_styles = False很有用,例如:
::
sf = sf [[如果col.style.font == utils.fonts.arial,col为sf.columns中的col]]
:param bool read_comments:如果`True`(并且`read_style`也是`True`)单元格的注释将被加载到返回的StyleFrame对象中。注意
当前不支持不带阅读样式的阅读注释。
:return:StyleFrame对象
:rtype:StyleFrame
.. py:method :: to_excel(excel_writer ='output.xlsx',sheet_name ='Sheet1',allow_protection = False,right_to_left = False,columns_to_hide = None,row_to_add_filters = None,columns_and_rows_to_freeze = None,best_fit = None
..注意:: to_excel还将接受pandas.DataFrame.to_excel接受为kwargs的所有参数。
:param excel_writer:文件路径或现有的ExcelWriter
:type excel_writer:str或pandas.ExcelWriter
:param str sheet_name:StyleFrame将导出到的图纸名称
:param bool allow_protection:允许保护指定为受保护的单元格。如果使用``protection = True''
在Styler对象中,必须将其设置为“ True”。
:param bool right_to_lef:使工作表从右到左。
:param columns_to_hide:要隐藏的列名称。
:type columns_to_hide:无或str或列表或元组或集合
:param row_to_add_filters:将过滤器添加到给定的行索引,从0开始(它将过滤器添加到标题行)。
:type row_to_add_filters:无或整型
:param columns_and_rows_to_freeze:要冻结的列和行字符串。
例如,“ C3”将冻结列:A,B和行:1、2。
:type columns_and_rows_to_freeze:无或str
:param best_fit:单个列,列表,集合或列名称的元组,以尝试最适合其宽度。
.. note ::``best_fit``将尝试根据每个提供的最长值来计算正确的列宽
柱。但是,不能保证此功能适用于所有字体(对等宽字体效果最好)。公式
用于计算列的宽度等于
::
(len(longest_value_in_column)+ A_FACTOR)* P_FACTOR
A_FACTOR和P_FACTOR的默认值分别为13和1.3,可以在之前修改
通过直接修改StyleFrame.A_FACTOR和StyleFrame.P_FACTOR来调用StyleFrame.to_excel
:type best_fit:无或str或列表或元组或集合
:返回:自我
:rtype:StyleFrame