我已经编写了 FastAPI 来上传文件,但在我的新要求中,我必须创建 CLI 来上传文件,以便我调用路由函数。
@app.post("/uploadfile/")
async def create_upload_file(file: Uploadfile =File(...));
pd.DataFrame = pd.read_csv(file.file)
return True
create_upload_file(文件=UploadFile(input_file_path))
当我尝试读取该文件时,例如:claims: pd.DataFrame = pd.read_csv(file.file) 我收到以下错误
没有要从文件中解析的列
您可以按如下方式读取csv:
from io import BytesIO
df = pd.read_csv(BytesIO(file.file.read()))
您可以尝试读取并解码文件中的内容,然后使用 pandas 读取 csv。
from io import StringIO
import pandas as pd
@app.post("/uploadfile/")
async def create_upload_file(file: Uploadfile =File(...)):
file = StringIO((await file.read()).decode("utf-8"))
df = pd.read_csv(file)
return True