HtmlTable在Python中的使用详解

一、HtmlTable的安装

HtmlTable是用来在Python中自动生成表单的一个库,我们可以通过以下方式来进行安装。在某些情况下,我们也可以通过这种方式来展示我们的报告。

pip install html_table  #安装方式
pip list  #验证方式

在这里插入图片描述

二、详细代码

这里我已经封装好方法了,大家可以直接调方法就行,这个库学起来也比较简单,在表单里面我做了链接的处理。如果大家对样式有需求,也可以自己去加对应的样式、颜色等等。

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# 2023/1/8 13:22
# Author : AldRichxm
# File   : ManageHTable.py

from HTMLTable import HTMLTable

class HtmlTableApi(object):

    def __init__(self,title:str,header_data:tuple,rows_data:tuple):
        """
        :param title: 表单的标题
        :param header_data: 表头
        :param rows_data: 表的数据
        """
        self.title = title
        self.table = HTMLTable(caption=title,rows=())
        self.table.append_header_rows(rows=header_data)
        self.table.append_data_rows(rows=rows_data)

    def setStyle(self,align ="center",cursor = "pointer",color='#999990'):
        """
        可以自己添加想要的样式
        :param align: 居中、右、左
        :param cursor: 鼠标光标样式
        :param color: 标题颜色
        :return:
        """
        caption_style = {
            'text-align': align,
            'cursor': cursor,
            "color" : color
        }
        self.table.set_style(style=caption_style)
    def setBorderStyle(self):
        """
        设置单元格边框、单元格样式
        :return:
        """
        border_style = {
            'border-color': '#000',
            'border-width': '1px',
            'border-style': 'solid',
            'border-collapse': 'collapse',
            # 实现表格居中
            'margin': 'auto',
        }
        # 外边框
        self.table.set_style(border_style)
        # 单元格边框
        self.table.set_cell_style(border_style)
    def setCellStyle(self):
        """
        设置单元格内容样式
        :return:
        """
        cell_style = {
            'text-align': 'center',
            'padding': '4px',
            'background-color': '#ffffff',
            'font-size': '0.95em',
        }
        self.table.set_cell_style(cell_style)
    def setTableHeaderStyle(self):
        """
        设置表头内容样式
        :return:
        """
        header_cell_style = {
            'text-align': 'center',
            'padding': '4px',
            'background-color': '#aae1fe',
            'color': '#FFFFFF',
            'font-size': '0.95em',
        }
        self.table.set_header_cell_style(header_cell_style)

    def setValueStyle(self):
        """
        判断值,并设置颜色
        :return:
        """
        for row in self.table.iter_data_rows():
            age = row[3].value  #每行第四列的值
            if float(age) < 20:
                row[3].set_style({
                    'background-color': '#ffd001',  #设置样式
                })

    def setAllStyle(self):
        self.setCellStyle()
        self.setTableHeaderStyle()
        self.setStyle(cursor="hand")
        self.setBorderStyle()
        self.setValueStyle()

    def createHtml(self):
        """
        如果含link,则处理成为可以点击的链接
        :return:
        """
        html = self.table.to_html().replace("&lt;", "<").replace("&gt;", ">").replace("&quot;", '"')
        with open(self.title+".html","w",encoding="gbk") as f:
            f.write(html)

if __name__ == '__main__':
    html = HtmlTableApi(title="测试报告",
                        rows_data=((1,"张三","男",12,
                                    "<a href=https://www.cnblogs.com/ypppt/p/12922824.html target = '_blank '>点击查看详情</a>"),
                                   (2,"李红","女",21,
                                    "<a href=https://blog.csdn.net/qq_38312411/article/details/127278756 target = '_blank '>点击查看详情</a>")),
                        header_data=(("编号","姓名","性别","年龄","link"),))
    html.setAllStyle()
    html.createHtml()

2.1 运行结果

这里我准备了两条数据,大家也可以获取其他接口数据展示出来,原理一样,最后组合成一个元组嵌套的元组。运行代码得到下面的表单。
在这里插入图片描述

三、参考链接

1、CSS大全
2、参考HTMLTable链接

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 下面是在 Python 使用 MySQL 的简单示例: 首先,你需要安装 MySQL 驱动程序,可以使用如下命令安装: ``` pip install mysql-connector-python ``` 接下来,你可以在 Python 代码连接到 MySQL 数据库: ``` import mysql.connector mydb = mysql.connector.connect( host="localhost", user="yourusername", password="yourpassword", database="yourdatabase" ) mycursor = mydb.cursor() mycursor.execute("SELECT * FROM customers") myresult = mycursor.fetchall() for x in myresult: print(x) ``` 上面的代码将连接到本地主机上的 MySQL 数据库,并从 customers 表选取所有数据。 ### 回答2: 在Python使用MySQL实例可以通过使用PyMySQL或mysql-connector-python等第三方库实现。下面是使用PyMySQL库的一个简单示例: 首先,需要安装PyMySQL库。可以通过在命令行运行以下命令进行安装: ``` pip install PyMySQL ``` 然后,在Python脚本导入PyMySQL库: ```python import pymysql ``` 接下来,需要建立与MySQL数据库的连接。可以使用`connect()`函数来建立连接,并传入数据库的主机名、用户名、密码、数据库名等参数: ```python conn = pymysql.connect(host='localhost', user='root', password='password', database='database_name') ``` 如果连接成功,可以创建游标对象来执行SQL语句: ```python cursor = conn.cursor() ``` 现在可以执行各种SQL语句了。以下是一些示例: 1. 执行查询语句: ```python sql = "SELECT * FROM table_name" cursor.execute(sql) result = cursor.fetchall() for row in result: print(row) ``` 2. 执行插入语句: ```python sql = "INSERT INTO table_name (column1, column2) VALUES ('value1', 'value2')" cursor.execute(sql) conn.commit() ``` 3. 执行更新语句: ```python sql = "UPDATE table_name SET column1 = 'new_value' WHERE condition" cursor.execute(sql) conn.commit() ``` 最后,记得在使用完之后关闭游标和连接: ```python cursor.close() conn.close() ``` 这是一个简单的Python使用MySQL的示例,你可以根据具体的需求进行适当的修改和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值