【发布时间】:2020-10-17 05:46:15
【问题描述】:
我正在使用 Flask 来执行此操作。我基本上想在我的网页上显示我的熊猫数据框,但我的网页最终在我的 html 页面上显示:
网站
公司 网站电话 电子邮件
这是我用 Flask 尝试过的:
from backend import final_dataframe
@app.route('/results', methods=["GET", "POST"])
def results():
return render_template('results.html', tables=final_dataframe.to_html(), titles=final_dataframe.columns.values)
这是我的 html 文件的 sn-p,我使用 Jinja 来显示表格:
<div style="width: 50%;margin-left: 25%;margin-top: 58px;">
{% for table in tables %}
{{titles[loop.index]}}
{{ table|safe }}
{% endfor %}
</div>
更新:
这就是我在烧瓶中执行 print(final_dataframe.to_html()) 时发生的情况:
<table border="1" class="dataframe">
<thead>
<tr style="text-align: right;">
<th></th>
<th>company</th>
<th>website</th>
<th>phone</th>
<th>email</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
好的,我的 backend.py 文件有问题。好像全局变量没有更新:
final_dataframe = pd.DataFrame(columns= ['company', 'website', 'phone', 'email'])
def someFunction(a,b):
contact_info = pd.DataFrame(myData, columns= ['company', 'website', 'phone', 'email'])
global final_dataframe
final_dataframe = final_dataframe.append(contact_info, ignore_index = True)
所以基本上,当程序退出函数时,全局变量(final_dataframe)不会更新。但是,它在函数内部进行了更新。
【问题讨论】:
标签: python pandas flask jinja2