我有一个使用flask制作的Web应用程序,我使用pandas to_html()函数将excel导出为html表。我使用javascript对html表进行了一些更改,并且想要将这些更改写入excel,以便每次重新加载页面时都会保存它们。
现在,我正在使用Pandas read_html()函数将该html表转换回excel并完成写操作
url = '127.0.0.1:5000/'
data = pd.read_html(url)
data.to_excel(filename,index=False)
但它说ValueError: Table not found
任何人都可以说错了,因为我执行这个脚本时我的烧瓶应用程序正在运行。
这就是我的index.html的样子
<div class=page>
<!-- <h1>Python</h1> -->
{% for table in tables %}
<h2>{{titles[loop.index]}}</h2>
{{ table|safe }}
{% endfor %}
</div>
我正在用它来渲染它
render_template('index.html',tables=[re.sub(' mytable', '" id="example', data.to_html(classes='mytable'))],
titles = ['Excel Data to Flask'])
答案 0 :(得分:0)
您可以使用以下方法将表解析为模板:
这个例子是用熊猫制作的,但我希望能帮到你。
有这样的表:
ipdst proto time count
10.3.20.102 HTTP 2017-03-20 17:08:56 1
10.3.20.102 HTTP 2017-03-20 17:08:57 1
10.3.20.102 HTTP 2017-03-20 17:08:58 1
10.3.20.102 HTTP 2017-03-20 17:08:58 1
10.3.20.102 TCP 2017-03-20 17:08:59 3
app.py
import pandas as pd
from sqlalchemy import create_engine
import datetime as dt
disk_engine = create_engine('sqlite:///test.db')
df = pd.read_sql_query('SELECT * FROM data', disk_engine)
@app.route('/')
def index():
return render_template('index.html', tables=[df.to_html()], titles=['ipdst', 'proto'])
if __name__ == '__main__':
app.run(debug= True)
模板/ index.html中
<div class=page>
{% for table in tables %}
{{ table|safe }}
{% endfor %}
</div>