📅  最后修改于: 2023-12-03 14:40:23.361000             🧑  作者: Mango
CSV(Comma Separated Values) 是一种常见的数据存储格式,很多应用程序会将数据以 CSV 格式导出或导入,因为 CSV 格式简单,易于处理和解析。Python 提供了多个库来读取和写入 CSV 文件,本文将介绍使用 Python 的 csv 模块来读取 CSV 文件并展示在网页中的方法。
Python 的 csv 模块提供了读写 CSV 文件的功能。它既支持基本的 CSV 文件读写,也支持自定义分隔符、引号字符等进行读写。如果你对 csv 模块不熟悉,可以参考官方文档 https://docs.python.org/3/library/csv.html。
在本文的示例中,我们将使用一个名为 "data.csv" 的文件来演示读取操作,CSV 文件的内容如下:
id,name,age,gender
1,John,25,Male
2,Lisa,30,Female
3,Jack,28,Male
Flask 是 Python Web 开发中的一个微型框架,可以轻松构建 Web 应用程序。如果你对 Flask 不熟悉,可以参考官方文档 https://flask.palletsprojects.com/en/1.1.x/。
在本文的示例中,我们使用 Flask 框架构建 Web 应用程序,并将 CSV 文件中的数据展示在网页中。
from flask import Flask, render_template
import csv
app = Flask(__name__)
# 读取 CSV 文件中的数据
def read_csv():
with open('data.csv', 'r') as file:
reader = csv.DictReader(file)
rows = []
for row in reader:
rows.append(row)
return rows
# 构建网页并展示 CSV 文件中的数据
@app.route('/')
def index():
rows = read_csv()
return render_template('index.html', rows=rows)
if __name__ == '__main__':
app.run()
在上面的代码中,我们定义了一个函数 read_csv()
,它使用 csv 模块读取 CSV 文件中的数据,并将数据返回为一个列表。read_csv()
函数使用 csv.DictReader
来读取 CSV 文件,返回的是一个字典类型的数据,每一行为一个字典。
接下来,我们使用 Flask 框架构建 Web 应用程序。我们在 '/' 路由下定义了 index()
函数,它将调用 read_csv()
函数读取 CSV 文件中的数据,并将数据传递给模板文件 'index.html'。模板文件 'index.html' 将展示 CSV 中的数据。
<!DOCTYPE html>
<html>
<head>
<title>CSV Reader</title>
</head>
<body>
<h1>CSV Reader</h1>
<table>
<tr>
<th>ID</th>
<th>Name</th>
<th>Age</th>
<th>Gender</th>
</tr>
{% for row in rows %}
<tr>
<td>{{ row['id'] }}</td>
<td>{{ row['name'] }}</td>
<td>{{ row['age'] }}</td>
<td>{{ row['gender'] }}</td>
</tr>
{% endfor %}
</table>
</body>
</html>
在上面的模板文件中,我们使用了 Jinja2 模板引擎来展示 CSV 中的数据。模板文件中使用了 for 循环来遍历数据,将每一行展示在表格中。
将上述代码保存为 'app.py' 和 'index.html' 文件,将 'data.csv' 文件放在同一个目录下。在终端中运行以下命令启动 Web 应用程序:
FLASK_APP=app.py flask run
打开浏览器访问 http://localhost:5000 即可看到 CSV 文件中的数据展示在网页中。
本文介绍了如何使用 Python 的 csv 模块读取 CSV 文件,并使用 Flask 框架将 CSV 文件中的数据展示在网页中。这只是一个简单的示例,你可以根据自己的需求对代码进行修改和扩展,例如添加搜索、排序、过滤等功能。