展開全部
拷貝一下代碼并儲存到本地,然後運作它,再打開那個Demo的連結就可以看到效果e69da5e887aa62616964757a686964616f31333363373163了#!/usr/bin/env python3
from collections import OrderedDict
from os.path import dirname, abspath, join as joinpath
L = [(1,2),(1,2),(1,3),(2,4),(2,5)]
column_names = ('列名', '資料')
odict = OrderedDict()
for k, v in L:
if k not in odict:
odict[k] = [v]
else:
odict[k].append(v)
sa = '''
HTML>
{} | {} |
---|
'''.format(*column_names)
sc = '''
'''
sb = []
tdform = '
{}'.format
for k, v in odict.items():
if len(v) == 1:
sb.append('
')
sb.append(tdform(k))
sb.append(tdform(v))
sb.append('
')
else:
for i, subv in enumerate(v):
sb.append('
')
if i == 0:
sb.append('
{}'.format(
len(v), k))
sb.append(tdform(subv))
sb.append('
')
fn = 'table.html'
ss = sa + '\n'.join(sb) + sc
try:
from bs4 import BeautifulSoup
soup = BeautifulSoup(ss)
ss = soup.prettify()
except:
pass
with open(fn, 'w') as f:
f.write(ss)
print(ss)
print('Demo: file://'+joinpath(abspath(dirname(__file__)), fn))