gpt4 book ai didi

python - 如何使用 FastAPI 上传 csv 并使用 Pandas 在内存中处理它?

转载 作者:行者123 更新时间:2023-12-04 16:38:17 78 4
gpt4 key购买 nike

我正在尝试使用 FastAPI 上传一个 csv 文件,然后将其加载到 Pandas 中。

import pandas as pd
import os
import io, base64

from fastapi import FastAPI, File, UploadFile, Form

app = FastAPI()

@app.post('/uploadfile/')
async def create_data_file(
experiment: str = Form(...),
file_type: str = Form(...),
file_id: str = Form(...),
data_file: UploadFile = File(...),
):

#decoded = base64.b64decode(data_file.file)
#decoded = io.StringIO(decoded.decode('utf-8'))

print(pd.read_csv(data_file.file, sep='\t'))

return {'filename': data_file.filename,
'experiment':experiment,
'file_type': file_type,
'file_id': file_id}
我尝试使用 file.file内容直接或使用 base64 进行转换或 StringIO .我也试过 codec .我在示例代码中得到的错误是
AttributeError: 'SpooledTemporaryFile' object has no attribute 'readable'

最佳答案

将编码更改为最适合您的方式,我找到了以下解决方法:

from io import StringIO

pd.read_csv(StringIO(str(data_file.file.read(), 'utf-16')), encoding='utf-16')

关于python - 如何使用 FastAPI 上传 csv 并使用 Pandas 在内存中处理它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66019766/

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