如何读取发送到Django POST请求的.sav文件

2024-10-04 03:26:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用Django读取POST请求中传递的文件。但是,当我执行pyreadstat.read\u sav(file)时,我得到了类型错误:参数'filename\u path'的类型不正确(应为str,在memoryUploadedFile中得到)

我可以先存储在Django的默认存储中,然后读取为pyreadstat.read\u sav(默认存储中的文件\u url\u),但是有没有办法不存储在默认存储中


Tags: 文件pathdjangourl类型read参数错误
1条回答
网友
1楼 · 发布于 2024-10-04 03:26:32

我找不到更优雅的解决方案,而是通过创建一个临时文件(如https://docs.python.org/3/library/tempfile.html#tempfile.mkstemp中所述)来解决

temp_file, temp_file_path = tempfile.mkstemp()  
for chunk in file.chunks():
    os.write(temp_file, chunk)
df, sav_file_meta_data = pyreadstat.read_sav(temp_file_path)
os.remove(temp_file_path)  # removing temporary file

相关问题 更多 >