我想从 DataFrame 创建一个 HTML 表。表的列数是固定的(不会改变)。但表的行号总是在变化。我简化了我的代码,以便任何 csv 文件都足以重现该问题。我的代码来自这里
注意:我将设置 HTML 代码的样式(给单元格着色、更改字体大小等),我知道DataFrame.to_html
功能。但不可能用它来设置 HTML 代码的样式。所以我没有使用它。
这是我尝试过的:
import pandas as pd
data=pd.read_csv("auto.csv")
data = data.iloc[:3, : 7] #get first 3 rows and 7 columns
print(data.describe)
# Send email
table = []
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>
潇湘沐