从Python字典生成HTML表

如何将下面的字典转换成html表格

{'Retry': ['30', '12', '12'] 'Station MAC': ['aabbccddeea', 'ffgghhiijj', 'kkllmmnnoo'] Download': ['70.', '99', '90'] } 

我试图实现的HTML表格格式是

 Retry MAC Download 30 aabbccddee 70 12 ffgghhiijj 99 12 kkllmmnnoo 90 

我已经写了与边界和一切表的CSS,但数据没有得到正确填写。 我正在尝试与web2py。 但是在表格格式中查找难以编写逻辑打印上面的字典。

谢谢 !

使用web2py TABLETR助手可以使它更容易:

在控制器中:

 def myfunc(): d = {'Retry': ['30', '12', '12'], 'Station MAC': ['aabbccddeea', 'ffgghhiijj', 'kkllmmnnoo'], 'Download': ['70.', '99', '90']} colnames = ['Retry', 'Station MAC', 'Download'] rows = zip(*[d[c] for c in colnames]) return dict(rows=rows, colnames=colnames) 

并认为:

 {{=TABLE(THEAD(TR([TH(c) for c in colnames])), [TR(row) for row in rows]))}} 

就像是

 d = {'Retry': ['30', '12', '12'], 'Station MAC': ['aabbccddeea', 'ffgghhiijj', 'kkllmmnnoo'], 'Download': ['70.', '99', '90']} keys = d.keys() length = len(d[keys[0]]) items = ['<table style="width:300px">', '<tr>'] for k in keys: items.append('<td>%s</td>' % k) items.append('</tr>') for i in range(length): items.append('<tr>') for k in keys: items.append('<td>%s</td>' % d[k][i]) items.append('</tr>') items.append('</table>') print '\n'.join(items) 

使用字典不会维护你的列的顺序,但如果你确定,那么这个例子将起作用

 data = {'Retry': ['30', '12', '12'], 'Station MAC': ['aabbccddeea', 'ffgghhiijj', 'kkllmmnnoo'], 'Download': ['70.', '99', '90']} html = '<table><tr><th>' + '</th><th>'.join(data.keys()) + '</th></tr>' for row in zip(*data.values()): html += '<tr><td>' + '</td><td>'.join(row) + '</td></tr>' html += '</table>' print html 

对这个问题有相当彻底的研究。 到目前为止,我发现最好的解决方案是Google的可靠包装。 我举一个例子,但链接中的是全面的。