我想從 DataFrame 創建一個 HTML 表。表的列數是固定的(不會改變)。但表的行號總是在變化。我簡化了我的代碼,以便任何 csv 文件都足以重現該問題。我的代碼來自這里注意:我將設置 HTML 代碼的樣式(給單元格著色、更改字體大小等),我知道DataFrame.to_html功能。但不可能用它來設置 HTML 代碼的樣式。所以我沒有使用它。這是我嘗試過的:import pandas as pddata=pd.read_csv("auto.csv") data = data.iloc[:3, : 7] #get first 3 rows and 7 columnsprint(data.describe)# Send emailtable = []table.append("<table>\n")for obj in data: table.append("\t<tr>\n") td = [] for key in dir(obj)[:7]: td.append("<td>{0}</td>".format(key)) table.append("\t\t"+"".join(td)) table.append("\n\t</tr>\n")table.append("</table>")print("".join(table))這就是結果<table> <tr> <td>__add__</td><td>__class__</td><td>__contains__</td><td>__delattr__</td><td>__dir__</td><td>__doc__</td><td>__eq__</td> </tr> <tr> <td>__add__</td><td>__class__</td><td>__contains__</td><td>__delattr__</td><td>__dir__</td><td>__doc__</td><td>__eq__</td> </tr> <tr> <td>__add__</td><td>__class__</td><td>__contains__</td><td>__delattr__</td><td>__dir__</td><td>__doc__</td><td>__eq__</td> </tr> <tr> <td>__add__</td><td>__class__</td><td>__contains__</td><td>__delattr__</td><td>__dir__</td><td>__doc__</td><td>__eq__</td> </tr> <tr> <td>__add__</td><td>__class__</td><td>__contains__</td><td>__delattr__</td><td>__dir__</td><td>__doc__</td><td>__eq__</td> </tr> <tr> <td>__add__</td><td>__class__</td><td>__contains__</td><td>__delattr__</td><td>__dir__</td><td>__doc__</td><td>__eq__</td> </tr> <tr> <td>__add__</td><td>__class__</td><td>__contains__</td><td>__delattr__</td><td>__dir__</td><td>__doc__</td><td>__eq__</td> </tr></table>
1 回答

瀟湘沐
TA貢獻1816條經驗 獲得超6個贊
請參閱DataFrame.to_html
將 DataFrame 渲染為 HTML 表。
from io import StringIO
import pandas as pd
styles = '''\
<style>
td {background-color: tan}
</style>
'''
data=pd.read_csv("auto.csv")?
buff = StringIO()
data.to_html(buff)
html_string = buff.getvalue()
print(styles + html_string)
- 1 回答
- 0 關注
- 154 瀏覽
添加回答
舉報
0/150
提交
取消