如何用python生成表格_用 Python 生成 HTML 表格
在 郵件報表 之類的開發(fā)任務中,需要生成?HTML?表格。
使用?Python?生成?HTML?表格基本沒啥難度,?for?循環(huán)遍歷一遍數(shù)據(jù)并輸出標簽即可。 如果需要實現(xiàn)合并單元格,或者按需調(diào)整表格樣式,就比較麻煩了。
這時,可以試試本文的主角 —— html-table 包,借助它可生成各種樣式的?HTML?表格。 接下來,以一個簡單的例子演示?html-table?的常用用法:
開始之前,須通過?pip?安裝 html-table 包:
$ python -m pip install html-table
安裝完畢后,即可導入?HTMLTable?類:
from HTMLTable import (
HTMLTable,
)
創(chuàng)建一個新表格,標題為 果園收成表 :
# 標題
table = HTMLTable(caption='果園收成表')
附上表頭:
# 表頭行
table.append_header_rows((
('名稱', '產(chǎn)量 (噸)', '環(huán)比', ''),
('', '', '增長量 (噸)', '增長率 (%)'),
))
注意到,表頭分為兩行,有些單元格需要合并,被合并的單元格需要留空占位。
合并單元格設置:
# 合并單元格
table[0][0].attr.rowspan = 2
table[0][1].attr.rowspan = 2
table[0][2].attr.colspan = 2
table[0] 取出第一行,即第一個
標簽; table0 取出第一個單元格,對應 名稱 ; table0.attr 則是其標簽 的屬性。 該單元格合并下方一個單元格,需要將標簽屬性 rowspan 設置為 2 。接著,加入數(shù)據(jù),方法與表頭類似,總共有 3 行:
# 數(shù)據(jù)行
table.append_data_rows((
('荔枝', 11, 1, 10),
('芒果', 9, -1, -10),
('香蕉', 6, 1, 20),
))
至此,數(shù)據(jù)準備完畢,可以著手調(diào)整樣式。先設置表格標題樣式:
# 標題樣式
table.caption.set_style({
'font-size': '15px',
})
設置
# 表格樣式,即
table.set_style({
'border-collapse': 'collapse',
'word-break': 'keep-all',
'white-space': 'nowrap',
'font-size': '14px',
})
以上?CSS?樣式設置在?
接著,設置每個單元格的樣式,主要是規(guī)定邊框樣式:
# 統(tǒng)一設置所有單元格樣式,
或table.set_cell_style({
'border-color': '#000',
'border-width': '1px',
'border-style': 'solid',
'padding': '5px',
})
接著,設置表頭單元格樣式,規(guī)定顏色、字體大小、以及填充大小:
# 表頭樣式
table.set_header_row_style({
'color': '#fff',
'background-color': '#48a6fb',
'font-size': '18px',
})
# 覆蓋表頭單元格字體樣式
table.set_header_cell_style({
'padding': '15px',
})
set_header_row_style?將樣式設置到表頭兩個?
?標簽上;?set_header_cell_style?則將樣式設置到每個 標簽上。 應該盡量將顏色等樣式設置到 標簽上,而不是 標簽上,以精簡生成的 HTML 。將次級表頭字體大小調(diào)小,不再贅述:
# 調(diào)小次表頭字體大小
table[1].set_cell_style({
'padding': '8px',
'font-size': '15px',
})
遍歷每個數(shù)據(jù)行,如果第 2 個單元格值小于 0 ,設置樣式標紅背景顏色:
# 遍歷數(shù)據(jù)行,如果增長量為負,標紅背景顏色
for row in table.iter_data_rows():
if row[2].value < 0:
row.set_style({
'background-color': '#ffdddd',
})
最后,生成?HTML?文本:
html = table.to_html()
print(html)
附錄
更多 Python 技術(shù)文章,請查看:Python語言小冊
訂閱更新,獲取更多學習資料,請關(guān)注我們的 微信公眾號 :
總結(jié)
以上是生活随笔為你收集整理的如何用python生成表格_用 Python 生成 HTML 表格的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: windows php cli 后台运行
- 下一篇: python web 框架例子_最快的