FastaApi中的请求文件

2022-01-25 04:43:05 标签 databasemongodbapifastapi

我正在检索一个csv文件,通过一个表单发送到我的api在fastapi的前端。这个文件以UploadFile的形式恢复(这在原则上是好的,因为如果我做文件。filename它返回我的csv文件上传至前线的名称),然而,当我把它传递给我的InsertData函数,它需要一个csv文件并上传到数据库,这给我一个错误。有人能告诉我,我怎么能改变类型的文件,我得到了回来?InsertData函数会发生什么?

这里我留下了InsertData函数和api的代码。

谢谢你!

API:

from fastapi.datastructures import UploadFile
from starlette.responses import RedirectResponse
from fastapi import File
from model.prueba import MongoDB
router = APIRouter()
@router.post("/prueba", name="Insert the date in mongo", tags=["consultas"])
async def insertDate(file: UploadFile=File(...)):
        
        db = MongoDB.__init__(dBName="HAR", collectionName="date")
        MongoDB.InsertData(db,file.file)

方法:

import pymongo
from pymongo import MongoClient
import pandas as pd
import json
class MongoDB(object):
    def __init__(dBName=None, collectionName=None):
        client = MongoClient("localhost", 27017, maxPoolSize=50)
        DB = client[dBName]
        collection = DB[collectionName]
        
        return(collection)
    def InsertData(collection, path):
        df = pd.read_csv(path)
        data = df.to_dict('records')
        collection.insert_many(data, ordered=False)
        print("All the Data has been Exported to Mongo DB Server .... ")
阅读全文

▼ 版权说明

相关文章也很精彩
推荐内容
更多标签
相关热门
全站排行
随便看看

错说 cuoshuo.com —— 程序员的报错记录

部分内容根据CC版权协议转载;网站内容仅供参考,生产环境使用务必查阅官方文档

辽ICP备19011660号-5

×

扫码关注公众号:职场神器
发送: 1
获取永久解锁本站全部文章的验证码