flask框架连接csv的房价数据可视化
时间: 2023-11-18 15:54:16 浏览: 156
好的,首先需要安装Flask框架和pandas库。然后,你可以使用pandas库读取CSV文件中的数据,并将其转换为DataFrame对象。接下来,你可以使用Flask框架创建一个Web应用程序,并使用plotly库创建交互式图表。最后,你可以将这些图表嵌入到Flask应用程序中,以便用户可以在Web浏览器中查看它们。
以下是一个简单的示例代码,它连接了一个名为“house_prices.csv”的CSV文件,并使用plotly库创建了一个交互式散点图:
```python
from flask import Flask, render_template
import pandas as pd
import plotly.graph_objs as go
app = Flask(__name__)
@app.route('/')
def index():
# 读取CSV文件并转换为DataFrame对象
df = pd.read_csv('house_prices.csv')
# 创建交互式散点图
trace = go.Scatter(
x=df['sqft_living'],
y=df['price'],
mode='markers'
)
data = [trace]
layout = go.Layout(
title='House Prices',
xaxis=dict(title='Square Feet'),
yaxis=dict(title='Price')
)
fig = go.Figure(data=data, layout=layout)
# 将图表嵌入到HTML模板中
plot_div = fig.to_html(full_html=False)
# 渲染HTML模板并返回
return render_template('index.html', plot_div=plot_div)
if __name__ == '__main__':
app.run(debug=True)
```
在这个示例中,我们使用了Flask框架的`render_template`函数来渲染一个名为“index.html”的HTML模板。在这个模板中,我们使用了Jinja2模板引擎来将图表嵌入到HTML页面中:
```html
<!DOCTYPE html>
<html>
<head>
<title>House Prices</title>
<script src="https://cdn.plot.ly/plotly-latest.min.js"></script>
</head>
<body>
<div id="plot">{{ plot_div|safe }}</div>
</body>
</html>
```
在这个模板中,我们使用了`plot_div`变量来嵌入图表,并使用了`safe`过滤器来确保HTML代码不被转义。
阅读全文