Python实现生成日报的示例代码

 更新时间:2023年06月19日 16:38:45   作者:一夜奈何梁山  
这篇文章主要为大家详细介绍了如何利用Python实现生成日报的功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下

一:日报生成工具

#!/usr/bin/python
# coding:utf8
class GetHtml(object):
    def __init__(self):
        self._html_head = """<html><body style="background-color:#FAEBD7;">"""
        self._format_html_foot = """<p style="font-family: verdana,arial,
        sans-serif;font-size:10px;font-weight:lighter;">%s</p> """
        self._format_html_head = """<p style="font-family: verdana,arial,
        sans-serif;font-size:%dpx;font-weight:bold;align=center">%s</p> """
        self._html_tail = "</body></html>"
        self._html_p_head = """<p style="font-family: verdana,arial,
        sans-serif;font-size:12px;font-weight:bold;">%s</p> """
        self._table_caption = """ <caption style="caption-side:top;font-size:12px;font-weight:bold;">%s</caption> """
        self._table_head = """<table style="font-family: verdana,arial,
        sans-serif;font-size:11px;color:#000000;border-width: 1px;border-color: #222C44;border-collapse: collapse;" 
        border="1"><tr> """
        self._format_table_th = """<th style="border-width: 1px;padding: 8px;border-style: solid;border-color: 
        #98bf21;background-color: #A7C942;" nowrap>%s</th> """
        self._format_table_td = """<td style="border-width: 1px;padding: 8px;text-align: right;border-style: 
        solid;border-color: #98bf21;background-color: #EAF2D3;" align="center" nowrap>%s</td> """
        self._table_tail = "</table>"
        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 += "<tr>"
        for th in th_info:
            temp_str = self._format_table_th % (str(th))
            table_str += temp_str
        table_str += "</tr>"
        # td
        for td_info in td_info_list:
            table_str += "<tr>"
            for td in td_info:
                temp_str = self._format_table_td % (str(td))
                table_str += temp_str
            table_str += "</tr>"
        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 = '<font color="red">' + '{}↑'.format(a) + '</font>'
        elif cmp_a < cmp_b:
            new_a = '<font color="green">' + '{}↓'.format(a) + '</font>'
        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实现生成日报的示例代码的文章就介绍到这了,更多相关Python生成日报内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Pandas实现在线文件和剪贴板数据读取详解

    Pandas实现在线文件和剪贴板数据读取详解

    这篇文章主要为大家介绍的是Pandas两种少用的读取文件方式:读取在线文件的数据和读取剪贴板的数据,感兴趣的小伙伴可以跟随小编一起学习一下
    2022-06-06
  • python实现逻辑回归的方法示例

    python实现逻辑回归的方法示例

    这篇文章主要介绍了python实现逻辑回归的方法示例,这是机器学习课程的一个实验,整理出来共享给大家,需要的朋友可以参考学习,下来要一起看看吧。
    2017-05-05
  • python处理变量交换与字符串及判断的小妙招

    python处理变量交换与字符串及判断的小妙招

    本文记录一些 Python 日常编程中的小妙招,并使用 IPython 进行交互测试,让我们更好的了解和学习 Python 的一些特性,对大家的学习或工作具有一定的价值,需要的朋友可以参考下
    2021-09-09
  • Python中pandas库的常用操作实例

    Python中pandas库的常用操作实例

    这篇文章主要介绍了Python中pandas库的常用操作实例,Pandas 库是一个免费、开源的第三方 Python 库,是 Python 数据分析必不可少的工具之一,它为 Python 数据分析提供了高性能,且易于使用的数据结构,即 Series 和 DataFrame,需要的朋友可以参考下
    2023-07-07
  • 18个好用的Python技巧分享(建议收藏)

    18个好用的Python技巧分享(建议收藏)

    在这篇文章中,我们将讨论最常用的一些python技巧,这些技巧都是在日常工作中使用过的简单的Trick,小编觉得好东西就是要拿出来和大家一起分享哒
    2023-07-07
  • Python之time模块的时间戳,时间字符串格式化与转换方法(13位时间戳)

    Python之time模块的时间戳,时间字符串格式化与转换方法(13位时间戳)

    今天小编就为大家分享一篇Python之time模块的时间戳,时间字符串格式化与转换方法(13位时间戳),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • python3 requests中文乱码之压缩格式问题解析

    python3 requests中文乱码之压缩格式问题解析

    这篇文章主要介绍了python3 requests中文乱码问题之压缩格式问题,我们在爬虫时,经常会遇见中文乱码问题,之前都是编码格式的问题,很少遇见由于压缩格式造成的编码混乱问题,特记录下,需要的朋友可以参考下
    2022-08-08
  • python 模拟登陆163邮箱

    python 模拟登陆163邮箱

    这篇文章主要介绍了python 模拟登陆163邮箱的示例,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2020-12-12
  • Python根据字典值对字典进行排序的三种方法实例

    Python根据字典值对字典进行排序的三种方法实例

    Python中的字典是无序类型,没有自己的排序方法,下面这篇文章主要给大家介绍了关于Python根据字典值对字典进行排序的三种方法,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-09-09
  • Django REST Swagger实现指定api参数

    Django REST Swagger实现指定api参数

    这篇文章主要介绍了Django REST Swagger实现指定api参数,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07

最新评论