Polars Чтение файла Excel из формы (т.е. request.FILES.get('file'))
Во всех примерах Polars показано чтение файла Excel из строки пути.
df = pl.read_excel("docs/assets/data/path.xlsx")
Но я передаю файл Excel из Django Form Post.
file_name = request.FILES.get('file')
df = pl.read_excel(file_name)
Я получаю ошибку «InvalidParametersError».
Как ввести файл в Polars из HTML-формы?
или я должен каким-то образом получить путь из request.FILES и использовать его?
Я новичок во всем, что касается поларов, но очень хочу попробовать.
Спасибо.
request.FILES
[Django-doc] does not store the path of the file at the server location, but an UploadedFile
[Django-doc]. Unless the file is quite large, it is typically not stored as file on the server, but in memory.
Если вы точно знаете, что загружаемые файлы будут небольшими, вы можете использовать для чтения содержимого файла в памяти:
file = request.FILES['file']
df = pl.read_excel(file.read())
Но обычно лучше использовать .chunks(…)
[Django-doc] для предотвращения опустошения памяти (вредоносным) файлом, и таким образом прочитать первые ~10 MiB, например.
Примечание: Пожалуйста, используйте
request.FILES['files']
вместоrequest.FILES.get('files')
. Действительно, использование.get(…)
не приведет к ошибке в случае отсутствия ключа, но если нам действительно нужно значение для связанного ключа, а ключ, таким образом, необходим, это обычно приводит только к большим проблемам в дальнейшем процессе.