Как прочитать файл .sav, отправленный на запрос Django POST - PullRequest
0 голосов
/ 30 марта 2020

Я использую Django для чтения файла, который был передан в запросе POST. Однако, когда я делаю pyreadstat.read_sav (файл) , я получаю TypeError: Аргумент «filename_path» имеет неправильный тип (ожидаемый str, получил InMemoryUploadedFile)

Я мог сначала сохраните в default_storage Django и прочитайте как pyreadstat.read_sav (file_url_in_default_storage), но есть ли способ сделать это без сохранения в хранилище по умолчанию?

1 Ответ

0 голосов
/ 31 марта 2020

Я не смог найти более элегантное решение и вместо этого решил, создав временный файл, как описано в 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...