flask 读取csv文件,根据不同列可视化html不同位置,包括文字和图片和链接
时间: 2024-05-06 22:18:49 浏览: 217
可以使用pandas库来读取csv文件,然后使用flask生成HTML页面来展示数据。
首先,安装pandas库:
```python
pip install pandas
```
然后,读取csv文件并根据不同列生成不同的HTML页面:
```python
import pandas as pd
from flask import Flask, render_template
app = Flask(__name__)
# 读取csv文件
data = pd.read_csv('data.csv')
# 根据不同列生成不同的HTML页面
@app.route('/column1')
def column1():
# 选择列1的数据
column1_data = data['column1']
# 生成HTML页面
return render_template('column1.html', data=column1_data)
@app.route('/column2')
def column2():
# 选择列2的数据
column2_data = data['column2']
# 生成HTML页面
return render_template('column2.html', data=column2_data)
# 运行Flask应用
if __name__ == '__main__':
app.run()
```
其中,`render_template`用于生成HTML页面,`data`是在HTML页面中使用的变量。
然后,在`templates`文件夹下创建两个HTML文件`column1.html`和`column2.html`,分别对应不同列的数据展示,例如:
`column1.html`:
```html
<!DOCTYPE html>
<html>
<head>
<title>Column 1</title>
</head>
<body>
<h1>Column 1 Data</h1>
<ul>
{% for item in data %}
<li>{{ item }}</li>
{% endfor %}
</ul>
<img src="{{ url_for('static', filename='image1.png') }}">
<a href="{{ url_for('column2') }}">Go to Column 2</a>
</body>
</html>
```
`column2.html`:
```html
<!DOCTYPE html>
<html>
<head>
<title>Column 2</title>
</head>
<body>
<h1>Column 2 Data</h1>
<ul>
{% for item in data %}
<li>{{ item }}</li>
{% endfor %}
</ul>
<img src="{{ url_for('static', filename='image2.png') }}">
<a href="{{ url_for('column1') }}">Go to Column 1</a>
</body>
</html>
```
在这里,我们使用了Flask的模板语言来动态生成HTML页面。`{% for %}`语句用于遍历`data`变量中的数据,`{{ }}`语句用于输出变量值。`url_for`函数用于生成静态文件的URL地址,例如图片和其他HTML页面。
最后,在`static`文件夹下放置相应的图片和其他静态文件。
阅读全文