python生成日报

目录

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

一:日报生成工具

#!/usr/bin/python
# coding:utf8class 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# thtable_str += "<tr>"for th in th_info:temp_str = self._format_table_th % (str(th))table_str += temp_strtable_str += "</tr>"# tdfor 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_strtable_str += "</tr>"table_str += self._table_tailself._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)@staticmethoddef 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 = areturn new_adef output_html(self):"""输出HTML文件"""html_content = self._html_headfor s in self._table_html:html_content += shtml_content += self._html_tailreturn 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()

三:最终日报生成展示

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/1719.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机器学习基础之《概述》

一、机器学习与人工智能、深度学习 1、机器学习是人工智能的一个实现途径 2、深度学习是机器学习的一个方法发展而来 二、统计学习和机器学习 实际机器学习在上世纪80年代已经出现&#xff0c;搞统计的 机器学习中有一个方法&#xff0c;叫人工神经网络&#xff0c;发展成深度…

知识图谱项目——红色文化之张学良人物知识图谱(Neo4j+vue+flask+mysql实现)

张学良人物简史知识图谱_说明文档 本项目为人工智能专业大三知识图谱课程期末作业。意在完成一个以张学良为背景的红色文化类知识图谱。文末放上本项目的代码地址。 文章目录 张学良人物简史知识图谱_说明文档:rocket:前端:rocket:后端:rocket:中间件:rocket:数据库:rocket:服…

Vue-pdf踩坑记录

最近在公司的一个项目中&#xff0c;需要在线预览PDF文件。基于vue-admin-electron的模板中开发。开发机系统为Windows&#xff0c;使用的框架为electron-vue。 坑1&#xff1a;在通过vue-router路由到含有vue-pdf组件的页面时报&#xff1a;“syntaxError: Unexpected token …

中国信通院携手合合信息开启《文档图像篡改检测标准》制定工作

文档图像是信息的重要载体&#xff0c;却经常被不法分子利用软件、算法进行篡改。这些虚假材料往往被用于散播谣言、经济诈骗、编造虚假新闻&#xff0c;给个人、社会造成了恶劣的影响。AIGC全球爆火后&#xff0c;人们对“生成式造假”风险的攀升倍感忧虑&#xff0c;图像内容…

ChatGPT新功能曝光:可记住用户信息、上传文件和工作区

&#x1f989; AI新闻 &#x1f680; ChatGPT新功能曝光&#xff1a;可记住用户信息、上传文件和工作区 摘要&#xff1a;一张神秘截图曝光了ChatGPT新功能&#xff0c;包括可记住用户信息的"My profile"、上传和管理文件的"My files"以及可以让AI使用不…

【MySQL数据库 | 第十六篇】存储引擎

目录 前言&#xff1a; MySQL体系结构图&#xff1a; 存储引擎简介&#xff1a; 1. InnoDB存储引擎&#xff1a; 2. MyISAM存储引擎&#xff1a; 3. MEMORY存储引擎&#xff1a; 4. NDB Cluster存储引擎&#xff1a; 5. ARCHIVE存储引擎&#xff1a; 存储引擎语法&#…

告别脚本小子系列丨JAVA安全(8)——反序列化利用链(下)

0x01 前言 在前面的文章中介绍了基于CC链的反序列化利用方式&#xff0c;并且通过最终调用Runtime类的exec方法达到命令执行的效果。在CC链中还可以通过xalan来执行命令。 xalan是java操作xml的库&#xff0c;属于java内置的官方库之一&#xff0c;在CC链中主要用到的是com.sun…

螺杆支撑座要怎么选?

螺杆支撑座是连接螺杆和电机的轴承固定座&#xff0c;使用螺杆支撑座可以获得高刚性、高精度的稳定的回转性能&#xff0c;这也是大部分厂商愿意使用的原因之一。 目前&#xff0c;市面上做螺杆支撑座的品牌还比较少&#xff0c;给大家选择的空间也不多&#xff0c;那么我们如何…

mysql 常见锁类型

表锁 & 行锁 在 MySQL 中锁的种类有很多&#xff0c;但是最基本的还是表锁和行锁&#xff1a;表锁指的是对一整张表加锁&#xff0c;一般是 DDL 处理时使用&#xff0c;也可以自己在 SQL 中指定&#xff1b;而行锁指的是锁定某一行数据或某几行&#xff0c;或行和行之间的…

Springboot使用pdfbox提取PDF图片

Springboot使用pdfbox提取PDF图片 PDFBox的介绍Springboot集成PDFBox一、提取pdf首页为图像1. 实现需求2. 项目代码3. 执行结果 二、将pdf内容全部转换为图像1. 实现需求2. 项目代码3. 执行结果4.注意事项1.优化项目代码2.提升Java heap size PDFBox的介绍 PDFBox是一个用于创…

网络安全系统教程+学习路线(自学笔记)

一、什么是网络安全 网络安全可以基于攻击和防御视角来分类&#xff0c;我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术&#xff0c;而“蓝队”、“安全运营”、“安全运维”则研究防御技术。 无论网络、Web、移动、桌面、云等哪个领域&#xff0c;都有攻与防两面…

使用ganymed-ssh2连接linux报错 Cannot negotiate, proposals do not match

ganymed-ssh2连接linux报错 背景报错信息解决方案&#xff1a;运行成功 背景 最近有个项目&#xff0c;需要在Linux下的服务器内写了一部分Python脚本&#xff0c;业务处理却是在Java内&#xff0c;那么就想能不能在Java里面&#xff0c;来远程执行Linux下的Python脚本&#x…