我们想要给某个模块着重突出,以便引起大家注意的时候,通常给那个模块的背景颜色换亮一点。这种情况的操作多见于我们想要突出表格中的某个数据,或是某一项的名称。在python3中设置布局背景颜色需要通过代码进行更改,相信很多小伙伴对于这样的设置还比较陌生,接下来我们看看布局背景颜色代码该如何写吧。
更改前
代码如下
import pandas as pd def set_foramt(): # 1.多个sheet页 sheet_list = ['Sheet1', 'Sheet2', 'Sheet3', 'Sheet4', 'Sheet5'] # 2.要写入的excel路径 writer = pd.ExcelWriter('test_new.xlsx') workbook = writer.book # 3.循环遍历sheet取数据 for sheet in sheet_list: df1 = pd.read_excel('test.xlsx', sheet_name=sheet) # 4.设置格式 fmt = workbook.add_format({"font_name": u"微软雅黑"}) percent_fmt = workbook.add_format({'num_format': '0.00%'}) amt_fmt = workbook.add_format({'num_format': '#,##0.00'}) border_format = workbook.add_format({'border': 1}) bg_format = workbook.add_format({'bold': True, 'font_name': u'微软雅黑', 'bg_color': 'yellow', 'align': 'center', 'valign': 'vcenter', 'font_color': 'black', 'font_size': 10}) date_fmt = workbook.add_format({'bold': False, 'font_name': u'微软雅黑', 'num_format': 'yyyy-mm-dd', 'align': 'center', 'valign': 'vcenter'}) # 5.写入excel l_end = len(df1.index) + 1 df1.to_excel(writer, sheet_name=sheet, encoding='utf8', header=df1.columns.values.tolist(), index=False, startcol=0, startrow=0) worksheet1 = writer.sheets[sheet] # 6.生效单元格格式 # 设置行高 worksheet1.set_row(0, 20, fmt) # 从第0行开始,行高为20,格式为fmt # 设置列宽 worksheet1.set_column('A:F', 20, fmt) # 从A列到F列,行高为10,格式为fmt # 加边框 worksheet1.conditional_format(f'A1:F{l_end}', {'type': 'no_blanks', 'format': border_format}) # A1单元格到F(索引值), 'type': 'no_blanks'指非空的单元格加格式 # 设置背景色 worksheet1.conditional_format('A1:F1', {'type': 'no_blanks', 'format': bg_format}) worksheet1.conditional_format(f'B2:B{l_end}', {'type': 'no_blanks', 'format': bg_format}) # 合并日期单元格 worksheet1.merge_range(f'A2:A{l_end}', df1['日期'][0], date_fmt) # 设置数值格式千分位,并保留两位小数 worksheet1.conditional_format(f'C2:F{l_end}', {'type': 'no_blanks', 'format': amt_fmt}) # 7.所有的sheet页设置好后再保存
成果:
改过的名称是不是更加鲜明了呢,这样也有助于我们对于表格所要表达的关键点有了更深刻的了解。想要同样效果的小伙伴,赶紧设置起来吧。更多Python学习指路:。