Flask 使用Flask发送多个CSV文件

Flask 使用Flask发送多个CSV文件

在本文中,我们将介绍如何使用Flask发送多个CSV文件。Flask是一个轻量级的Web应用框架,适用于构建小型或中型的Web应用程序。发送CSV文件是常见的需求之一,在一些场景中,需要将多个CSV文件作为响应发送给客户端。

阅读更多:Flask 教程

使用 Flask 发送单个 CSV

在开始介绍如何发送多个CSV文件之前,先了解如何使用Flask发送单个CSV文件。首先,我们需要导入Flask和CSV库:

from flask import Flask, make_response
import csv

接下来,我们创建一个Flask应用实例,并定义一个路由处理函数,用于发送CSV文件:

app = Flask(__name__)

@app.route('/download_csv')
def download_csv():
    # 创建CSV数据
    data = [
        ["Name", "Age", "Email"],
        ["Alice", 25, "alice@example.com"],
        ["Bob", 30, "bob@example.com"],
        ["Charlie", 35, "charlie@example.com"]
    ]

    # 创建CSV响应
    response = make_response("")
    response.headers["Content-Disposition"] = "attachment; filename=mydata.csv"
    writer = csv.writer(response)
    writer.writerows(data)

    return response

在上面的代码中,我们首先创建了一组CSV数据。然后,通过make_response函数创建了一个响应对象,并通过response.headers将文件名设置为”mydata.csv”。接下来,我们使用CSV库的writerows方法将数据写入响应对象。最后,将响应对象作为函数的返回值。

要让Flask应用运行起来,我们需要添加以下代码:

if __name__ == '__main__':
    app.run()

现在,我们可以启动Flask应用,并在浏览器中访问http://localhost:5000/download_csv来下载CSV文件。

发送多个 CSV 文件

接下来,我们介绍如何发送多个CSV文件。假设我们有两个CSV文件,分别是”file1.csv”和”file2.csv”。我们的目标是将这两个文件作为响应发送给客户端。

@app.route('/download_multiple_csv')
def download_multiple_csv():
    # 创建CSV数据
    data1 = [
        ["Name", "Age", "Email"],
        ["Alice", 25, "alice@example.com"],
        ["Bob", 30, "bob@example.com"],
        ["Charlie", 35, "charlie@example.com"]
    ]

    data2 = [
        ["Product", "Price"],
        ["Apple", 1.99],
        ["Banana", 0.99],
        ["Orange", 1.49]
    ]

    # 创建CSV响应
    response = make_response("")
    response.headers["Content-Disposition"] = "attachment; filename=file1.csv"
    writer = csv.writer(response)
    writer.writerows(data1)

    # 在响应中添加第二个CSV文件
    response.data += b"\n"

    response.headers.add("Content-Disposition", "attachment; filename=file2.csv")
    writer2 = csv.writer(response)
    writer2.writerows(data2)

    return response

在上述的代码中,我们首先创建了两个CSV数据:data1和data2。然后,我们依次创建两个响应对象,将文件名设置为”file1.csv”和”file2.csv”。然后,我们使用CSV库的writerows方法将数据逐个写入响应。为了区分两个CSV文件,我们在它们之间添加了一个换行符。

现在,我们可以启动Flask应用,并在浏览器中访问http://localhost:5000/download_multiple_csv来下载两个CSV文件。

总结

本文介绍了如何使用Flask发送多个CSV文件。我们首先了解了如何使用Flask发送单个CSV文件,并提供了一个示例代码。然后,我们介绍了如何发送多个CSV文件,并给出了相应的示例代码。通过这些示例,我们可以很容易地在Flask应用中发送多个CSV文件。希望本文对您有所帮助!

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程