我正在尝试从用户那里获取 CSV 或 XLSX 形式的文件并将其转换为 YAML。我已经制作了python脚本来在本地将文件从CSV转换为YAML和XLSX转换为YAML,但是我无法通过从用户那里获取文件来做到这一点。如何读取上传的文件?
@app.post("/cqa/uploadFile")
def create_upload_file(file: UploadFile = File(...)):
if file.filename.endswith('.csv') or file.filename.endswith('.xlsx'):
toYAML(file)
return {"filename": file.filename}
else:
raise HTTPException( status_code=status.HTTP_405_METHOD_NOT_ALLOWED)
def toYAML(file):
if file.filename.endswith('.csv'):
convert_yaml(codecs.iterdecode(file.file,'utf-8'))
else:
xlsx_to_csv(file)
convert_yaml("xlsxCSV.csv")
这是我如何将XLSX转换为CSV:
def xlsx_to_csv(file):
data_xls = pd.read_excel(file, index_col=None)
data_xls.to_csv("xlsxCSV.csv", encoding='utf-8', index=False)
这是我如何将CSV转换为YAML:
def convert_yaml(file):
file=open(file)
x = csv.reader(file)
file_arr=[]
for r in x :
file_arr.append(r)
**
defcreate_upload_file(file: UploadFile=File(…)):
**
IMO,这里唯一的问题可能是查询参数中的名称“file”。表单数据输入名称中应给出相同的名称(在前端文件上传表单中)。
为了保持简单,下面正文中的输入名称应该与api中uploadfile的查询参数匹配
<body>
<form action="/files/" enctype="multipart/form-data" method="post">
<input name="file" type="file" multipart>
<input type="submit">
</form>
</body>
Fastapi
是一个API
,所以不要指望用户能够通过一个漂亮的UI提交文件。
< code>API正确。我看不出有什么问题。
由于我不知道上传部分是什么样子的(即界面),我无法在这里提出建议,但如果您是通过javascript
上传文件,那么您应该使用FormData
并以路由参数中指定的方式调用文件的条目(即
>)。
你可以在这里查看我对一个类似问题的回答。在这个回复中,我只总结了答案中所写的内容。希望这就是你要找的。
如何在没有UI(即HTML)的情况下,将文件(docx、doc、pdf或json)发送到fastapi并在其上进行预测?
共享收货地址接口 wx.openAddress({ success: function (res) { var userName = res.userName; // 收货人姓名 var postalCode = res.postalCode; // 邮编 var provinceName = res.provinceName; // 国标收货地址第一级地址(省)
本文向大家介绍使用python读取csv文件快速插入数据库的实例,包括了使用python读取csv文件快速插入数据库的实例的使用技巧和注意事项,需要的朋友参考一下 如下所示: 这个脚本可以直接运行,将csv文件放在同级目录即可。 csv第一列需要有列名,如果csv里没有列名,需要在代码中添加列名。 代码运行示例:python insert.py csvname tablename 以上这篇使用py
输入输出是人机交互的一种方式。最常见的输入输出是标准输入输出和文件输入输出(当然还有数据库输入输出,本节不讨论这部分)。 标准输入 标准输入也叫作控制台输入,是常见输入的一种。 例子1: use std::io; fn read_input() -> io::Result<()> { let mut input = String::new(); try!(io::stdin().r
静态文件,顾名思义,就是那些不会被改变的文件,比如图片,CSS 文件和 JavaScript 源码文件。默认情况下,Flask 在程序根目录中名为 static 的子目录中寻找静态文件。因此,我们一般在应用的包中创建一个叫 static 的文件夹,并在里面放置我们的静态文件。比如,我们可以按下面的结构组织我们的 app: app/ __init__.py static/
问题内容: 我有一个Java服务器应用程序,可以下载CSV文件并进行解析。解析可能需要5到45分钟,并且每小时都要进行一次。此方法是应用程序的瓶颈,因此不是过早的优化。到目前为止的代码: 是否有现有的库可以帮助我加快速度?我可以改善现有代码吗? 问题答案: 您看过Apache Commons CSV吗? 使用注意事项 请记住,仅返回数据视图,这意味着原始对象不符合垃圾回收的条件,同时引用了任何视图
本文向大家介绍python3读取csv和xlsx文件的实例,包括了python3读取csv和xlsx文件的实例的使用技巧和注意事项,需要的朋友参考一下 基于win10系统,python3.6 读取csv 使用csv函数包,安装 pip install csv 使用方法: 读取xlsx 使用xlrd函数包,安装: pip install xlrd 使用方法: 这两个较为常用,需要知道如何使用。 以上