python生成日报

目录

    • 一:日报生成工具
    • 二:日报工具使用方式
    • 三:最终日报生成展示

一:日报生成工具

#!/usr/bin/python
# coding:utf8

class GetHtml(object):
    def __init__(self):
        self._html_head = """"""
        self._format_html_foot = """

%s

"""
self._format_html_head = """

%s

"""
self._html_tail = "" self._html_p_head = """

%s

"""
self._table_caption = """ %s """ self._table_head = """ """ self._format_table_th =""" """ self._format_table_td =""" """ self._table_tail ="
%s %s
"
self._content = "" self._table_html = [] def add_table(self, table_title, th_info, td_info_list): table_str = "" table_p_head = self._html_p_head % (str(table_title)) table_str = table_p_head + self._table_head # th table_str += "" for th in th_info: temp_str = self._format_table_th % (str(th)) table_str += temp_str table_str += "" # td for td_info in td_info_list: table_str += "" for td in td_info: temp_str = self._format_table_td % (str(td)) table_str += temp_str table_str += "" table_str += self._table_tail self._table_html.append(table_str) def add_head(self, head, found_size=18): head_str = self._format_html_head % (found_size, str(head)) self._table_html.append(head_str) def add_foot(self, foot): foot_str = self._format_html_foot % (str(foot)) self._table_html.append(foot_str) @staticmethod def concat_color(a, b): """通过a,b对比给a增加高亮显示""" cmp_a, cmp_b = float(str(a).strip('%')), float(str(b).strip('%')) if cmp_a > cmp_b: new_a = '' + '{}↑'.format(a) + '' elif cmp_a < cmp_b: new_a = '' + '{}↓'.format(a) + '' else: new_a = a return new_a def output_html(self): """输出HTML文件""" html_content = self._html_head for s in self._table_html: html_content += s html_content += self._html_tail return html_content

二:日报工具使用方式

  • 生成html对象: html = GetHtml()
  • 给html新增标题: html.add_head(“标题”)
  • html种增加统计表格:
    total_table = list()
            total_header = ["日期", "进件总量", "进件完成量", "延时进件量", "卡单量", "通过量", "拒绝量", "人工量",
                            "通过率(%)", "拒绝率(%)", "平均耗时(秒)"]
    
            # TODO: 查询数据逻辑, 追加到total_table中
    
            if len(total_table) >= 2:
                # 通过率 拒绝率 平均耗时 增加高亮显示
                total_table[0][8] = html.concat_color(a=total_table[0][8], b=total_table[1][8])
                total_table[0][9] = html.concat_color(a=total_table[0][9], b=total_table[1][9])
                total_table[0][10] = html.concat_color(a=total_table[0][10], b=total_table[1][10])
    
            html.add_table("表{}-{}授信机审".format(num, get_product_chinese_name(product_name)), total_header, total_table)
    
  • 输出html整个页面:html.output_html()

三:最终日报生成展示

python生成日报_第1张图片

你可能感兴趣的:(python,python,开发语言)