首页 > 解决方案 > 写入 html 表中的不同列

问题描述

我正在尝试从 python 脚本生成一个 html 表。这是我生成表格的功能。

def generate_report(files, main_files, main):
    html_file = open("report.html", "w")
    html_file.write('<html>')
    html_file.write('<body>')
    html_file.write('<table border=1>')
    html_file.write('<tr>')
    html_file.write('<td>file Names</td>')
    for i in main:
        html_file.write('<th>%s</th>' % i)
    html_file.write('</tr>')
    for j in files:
        html_file.write('<tr>')
        html_file.write('<td>%s</td>' % j)
        html_file.write('<td style="background-color: %(color1)s;">%(value1)d</td>'
                    % {'value1': (count_in_lists(j, main_files)),
                       'color1': get_color(count_in_lists(j, files))})
        html_file.write('</tr>')
    html_file.write('</html>')
    html_file.write('</body>')
    html_file.write('</table>')

    html_file.close()
    webbrowser.open_new_tab('report.html')

从另一个函数我调用这个函数来生成表格。下面是函数

def report_main():
    for k in main_files:
        main_base_files = extract_base_files('path to a directory\\'+k+'')
        print(main_base_files)
        generate_report(base_files, main_base_files, main_files)

基本上 base_files、main_files 和 main_base_files 是三个列表,其中包括目录中的一些文件名。count_in_lists() 函数比较 base_files 和 main_base_files 并计算 main_base_files 列表中 base_files 名称的出现次数。和 extract_base_files 函数只是从主文件中提取一些文件名,并在运行脚本后将其存储在列表中我试图生成一个包含 5 列的表,但我最终覆盖了同一列。执行 report_main() 函数时如何写入不同的列?

标签: pythonhtml

解决方案


推荐阅读