我想我想用flask做一个页面 其中中要用到1_cleaned_university.csv数据集 ,这个页面中是系统中的查看学校相关信息作用的,在初始页面中可以展示数据集内容,在页面上面的最上面有一个搜索框 可以通过搜索大学名称来显示数据集中该条数据内容 这样怎么做
时间: 2023-06-15 07:06:43 浏览: 97
首先,你需要将CSV数据集导入到你的Flask应用程序中。可以使用Python内置的csv模块读取CSV文件并将其转换为列表或字典格式。然后,你需要创建一个Flask路由函数来处理用户请求并渲染页面。你可以使用Jinja2模板引擎来生成HTML页面并将数据集渲染到页面上。
以下是一个简单的示例:
```python
import csv
from flask import Flask, render_template, request
app = Flask(__name__)
# 读取CSV数据集
data = []
with open('1_cleaned_university.csv', newline='') as csvfile:
reader = csv.DictReader(csvfile)
for row in reader:
data.append(row)
# 定义Flask路由函数
@app.route('/', methods=['GET', 'POST'])
def index():
if request.method == 'POST':
# 处理搜索请求
search_term = request.form['search']
results = [d for d in data if search_term in d['University']]
return render_template('index.html', data=results, search_term=search_term)
else:
# 渲染初始页面
return render_template('index.html', data=data)
if __name__ == '__main__':
app.run(debug=True)
```
在这个例子中,我们使用了Flask的`render_template`函数来渲染名为`index.html`的Jinja2模板。在模板中,我们可以使用Flask的模板语言来处理数据集并生成HTML页面。你可以在模板中添加一个搜索框,这样用户就可以输入大学名称并触发搜索请求。搜索请求将触发Flask路由函数中的条件分支,该分支将从数据集中筛选出满足搜索条件的数据并将其渲染到模板中。
阅读全文