javascript - 使用for循环从python Flask应用程序以html呈现表格
问题描述
我想使用 for 循环将 python 数据框显示到 html 页面中。我不想使用.to_html
函数,因为我想自定义表格元素。有没有办法做到这一点?
这是我的python代码:
@app.route('/table',methods=['GET','POST'])
def table():
url = 'https://raw.github.com/pandas-dev/pandas/master/pandas/tests/data/tips.csv'
df_Final = pd.read_csv(url)
df_Final_header = list(df_Final)
df_Final_header_length1 = len(df_Final_header)
df_Final_header_length = list(range(0,df_Final_header_length1))
df_Final_Index_length1 =len(df_Final.index)
df_Final_Index_length = list(range(0,df_Final_Index_length1))
return render_template('table1.html',data=df_Final,headers=df_Final_header,data_index_len=df_Final_Index_length,data_row_len=df_Final_header_length) #.to_html(classes="table table-striped table-bordered table-hover table-condensed"))
if __name__ == '__main__':
app.run(debug=True)
这是我的圣殿:
<html>
<head>
<style>
#customers {
font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
border-collapse: collapse;
width: 100%;
}
#customers td, #customers th {
border: .5px solid #ddd;
padding: 8px;
}
#customers tr:nth-child(even){background-color: #f2f2f2;}
#customers tr:hover {background-color: #ddd;}
#customers th {
padding-top: 12px;
padding-bottom: 12px;
text-align: left;
background-color: #87CEFA;
color: white;
}
</style>
</head>
<body>
<table id="customers">
<tr>
{% for header in headers %}<th>{{ header }}  </th>{% endfor %}
</tr>
{% for i in data_index_len %}
<tr>
{% for j in headers %}<td>{{ data.ix[i,j] }}  </td>
{% endfor %}
</tr>
{% endfor}
</table>
</body>
</html>
加载 /table 时出现此随机错误
jinja2.exceptions.TemplateSyntaxError: unexpected '}'
解决方案
在您的代码中 -
{% for i in data_index_len %}
<tr>
{% for j in headers %}<td>{{ data.ix[i,j] }}  </td>
{% endfor %}
</tr>
{% endfor} <==== you are missing a %
{% endfor %}
应该解决你的错误
推荐阅读
- javascript - 我开始使用 next.js 创建我的网络应用程序,所以我从“firebase”导入了 firebase。然后在终端中发生此错误:
- flutter - 声明一个变量而不初始化它颤动
- python-3.x - django.db.utils.OperationalError: no such table: price_category AFTER GIT CLONE
- android - 反应原生 M1
- asp.net - 将 Clang 添加到以 mcr.microsoft.com/dotnet/sdk 为基础的 docker 容器中
- javascript - 无需页面刷新且无需单击按钮即可从数据库中获取数据 - AJAX PHP
- vue.js - 如何按照这个目录结构使用 vite 创建多页?
- python - 无法从部分初始化的模块“remotezip”导入名称“RemoteZip”
- keras - 如何将 kaggle 中的数据输入到 subplot 单个条形图中?
- python - 如何在 PostGresOperator 气流中的 .sql 文件中传递参数?