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



我正在使用Django读取POST请求中传递的文件。但是,当我执行pyreadstat.read_sav(文件(时,我得到类型错误:参数"filename_path"的类型不正确(应为str,得到InMemoryUploadedFile(

我可以先存储在Django的default_storage中,然后读取为pyreadstat.read_sav(file_url_in_default_storage(,但有没有一种方法可以做到这一点而不存储在默认存储中?

我找不到更优雅的解决方案,而是通过创建一个临时文件来解决,如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

最新更新