天天看點

python rowspan_python HTML展示表格資料(有合并的單元格)

展開全部

拷貝一下代碼并儲存到本地,然後運作它,再打開那個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))