You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Excel转HTML日志:换行、条件样式及单行显示问题求助

解决Excel转带样式HTML日志的问题

完整实现代码

import pandas as pd

file = r"..\test.xlsx"

try:
    df = pd.read_excel(file)
    # 转换日期、时间为字符串,避免格式异常
    df['Date'] = df['Date'].astype(str)
    df['Time'] = df['Time'].astype(str)
    
    # 定义紧急程度对应的样式映射
    urgency_styles = {
        1: 'background-color: #ff4444; color: white;',
        2: 'background-color: #ffaa33; color: black;',
        3: 'background-color: #00C851; color: white;'
    }
    
    # 构建HTML结构
    html_parts = [
        '<!DOCTYPE html>',
        '<html>',
        '<head><meta charset="UTF-8"><title>日志展示</title></head>',
        '<body style="font-family: Arial, sans-serif; padding: 20px;">'
    ]
    
    # 遍历每行生成日志行
    for _, row in df.iterrows():
        # 获取当前行的样式,默认灰色兜底
        current_style = urgency_styles.get(row['Urgence'], 'background-color: #cccccc;')
        # 拼接日志内容,添加单行不换行样式
        log_line = f'''
        <div style="padding: 8px 12px; margin: 6px 0; {current_style} white-space: nowrap;">
            {row['Date']} | {row['Time']} | {row['Description']}
        </div>
        '''.strip()
        html_parts.append(log_line)
    
    html_parts.extend(['</body>', '</html>'])
    
    # 合并并保存HTML文件
    final_html = '\n'.join(html_parts)
    with open('log_display.html', 'w', encoding='utf-8') as f:
        f.write(final_html)
    print("HTML日志文件已生成:log_display.html")

except OSError:
    print(f"无法读取文件:{file}")

针对三个问题的具体说明

  1. 解决每行自动换行的问题
    你之前的代码是将Series拼接后直接打印,此时\n只是字符串的一部分,不会被解析为换行符。现在通过遍历DataFrame的每一行,单独生成每个日志的HTML块(<div>标签),每个<div>是块级元素,在HTML中会自动换行显示;同时生成HTML字符串时用\n分隔每行代码,方便查看源码。

  2. 根据Urgence应用条件样式
    定义urgency_styles字典,将Urgence的数值映射到对应的CSS背景色样式。遍历每行数据时,根据当前行的Urgence值获取对应样式,嵌入到<div>的style属性中,实现不同紧急程度的行显示不同颜色。

  3. 保证每条日志仅占一行
    在<div>的style中添加white-space: nowrap;,强制日志文本不自动换行;同时用<div>包裹每条日志,确保每条日志作为独立的块级元素,不会和其他日志在同一行显示。如果日志内容过长,可额外添加overflow: hidden; text-overflow: ellipsis;实现超长内容省略显示(根据需求选择)。

内容的提问来源于stack exchange,提问作者Stacky

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 17:39:20