gpt4 book ai didi

python - 使用 Python Flask 上传 CSV 文件并进行处理

转载 作者:太空宇宙 更新时间:2023-11-03 10:48:56 26 4
gpt4 key购买 nike

我有以下代码使用 Python FLASK 上传 CSV 文件。

from flask_restful import Resource
import pandas as pd

ROOT_PATH = os.path.dirname(os.path.abspath(__file__))

class UploadCSV(Resource):

def post(self):
files = request.files['file']
files.save(os.path.join(ROOT_PATH,files.filename))
data = pd.read_csv(os.path.join(ROOT_PATH,files.filename))
print(data)

api.add_resource(UploadCSV, '/v1/upload')

if __name__ == '__main__':
app.run(host='localhost', debug=True, port=5000)

此代码运行良好,我可以成功上传 CSV 文件并使用 pandas dataframe 读取它。但我将 csv 保存在本地文件系统中并读取它。

我试过像下面这样阅读 -

files = request.files['file']
files.read()

得到的结果是字节格式的,但我需要的是字典格式的。所以我使用 pandas dataframe 来读取它,然后我将它转换成我的格式的自定义字典。

是否可以在不将其写入本地文件系统的情况下即时读取 CSV 文件?或者我们可以使用 Python Flask Restful 实现的任何等效方法?

最佳答案

(不太恰本地命名,因为它是一个文件)files 变量包含一个 werkzeug.datastructures.FileStorage目的。这是一个类似对象的文件(包含 read() 方法),因此可以直接将其用作 pandas.read_csv() 的输入,如pandas documentation .

因此,不保存到磁盘的解决方案很简单:

class UploadCSV(Resource):

def post(self):
file = request.files['file']
data = pd.read_csv(file)
print(data)

关于python - 使用 Python Flask 上传 CSV 文件并进行处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55253829/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com