Ошибка при чтении xlsx-файла, скачанного с помощью requests

Рейтинг: 0Ответов: 0Опубликовано: 22.04.2023

Всем привет. Не могу понять, почему возникает ошибка с экселевскими файлами, которые скачаны с помощью requests, если при скачивании вручную никаких проблем нет.

Скачиваю следующим образом:

def download_file(url: str, filename: str) -> None:
# url = https://bdu.fstec.ru/files/documents/thrlist.xlsx
# filename = 'downloads/thrlist.xlsx'
try:
    response = requests.get(url=url, verify=False)

    with open(filename, 'wb') as downloaded_file:
        downloaded_file.write(response.content)

except Exception as ex:
    print(ex)

После чего пытаюсь извлечь из этого файла данные с помощью pandas:

def parse_threats_info(file: str) -> None:
    column_names = ['id', 'name', 'info']
    excel_file = pd.read_excel(file, sheet_name=0, skiprows=2, usecols="A,B,C", header=None, names=column_names)
...

Но возникает ошибка:

ValueError: Excel file format cannot be determined, you must specify an engine manually.

При этом с файлами, которые были скачаны вручную, все прекрасно работает. Вот не могу никак понять, почему с файлами, скачанными через requests, возникает эта ошибка. К тому же в самом экселе такие файлы тоже не открываются: введите сюда описание изображения

Ответы

Ответов пока нет.