首页 > 解决方案 > 从 python 3 中的 2 个列表创建 HTML 表

问题描述

我看过这里,但解决方案仍然不适合我......我有2 lists

list1 = ['src_table', 'error_response_code', 'error_count', 'max_dt']

list2 = ['src_periods_43200', 404, 21, datetime.datetime(2020, 5, 26, 21, 10, 7)',
         'src_periods_86400', 404, 19, datetime.datetime(2020, 5, 25, 21, 10, 7)']

list1携带桌子column names。_HTML

第二个list2携带table data.

如何生成HTML table这两个列表中的一个,以便第一个列表用于,column names第二个作为table data(按行)

结果应该是:

src_table          |  error_response_code  | error_count  | max_dt                  |
src_periods_43200  |  404                  | 21           | 2020-5-26    21:10:7    |
src_periods_43200  |  404                  | 19           | 2020-5-25    21:10:7    |

非常感谢

标签: pythonhtmlhtml-table

解决方案


这应该这样做

import pandas as pd
import datetime

list1 = ['src_table', 'error_response_code', 'error_count', 'max_dt']

list2 = [
    'src_periods_43200', 404, 21, datetime.datetime(2020, 5, 26, 21, 10, 7),
    'src_periods_86400', 404, 19, datetime.datetime(2020, 5, 25, 21, 10, 7)
]


index_break = len(list1)
if len(list2) % index_break != 0:
    raise Exception('Not enough data.')

staged_list = []
current_list = []

for idx in range(0, len(list2)):
    current_list.append(list2[idx])

    if len(current_list) == index_break:
        staged_list.append(current_list.copy())
        current_list = []

df = pd.DataFrame(data=staged_list, columns=list1)

print(df.to_html())

推荐阅读