Главный бухгалтер компании "Рога и копыта" случайно удалил ведомость с начисленной зарплатой. К счастью, у него сохранились расчётные листки всех сотрудников. Помогите по этим расчётным листкам восстановить зарплатную ведомость. Архив с расчётными листками доступен по ссылке https://stepik.org/media/attachments/lesson/245299/rogaikopyta.zip (вы можете скачать и распаковать его вручную или самостоятельно научиться делать это с помощью скрипта на Питоне).
Ведомость должна содержать 1000 строк, в каждой строке должно быть указано ФИО сотрудника и, через пробел, его зарплата. Сотрудники должны быть упорядочены по алфавиту.
Исходный код:
from zipfile import ZipFile
import urllib.request
import xlrd
url = 'https://stepik.org/media/attachments/lesson/245299/rogaikopyta.zip'
urllib.request.urlretrieve(url, 'zip_file')
res = {}
with ZipFile('zip_file') as f:
file_names = f.namelist()
for name in file_names:
f.extract(name)
rd = xlrd.open_workbook(name)
sheet = rd.sheet_by_index(0)
vals = sheet.row_values(1)
fio = vals[1]
salary = vals[3]
res[fio] = int(salary)
for name, salary in sorted(res.items()):
print(name, salary)
Как-бы не переписывал код везде выдает ошибку в xlrd, и я не могу понять в чем причина, загугли написали что надо откатить версию в консоли до 1.2.0 откатил версию в терминале через pip install xlrd==1.2.0 но все равно не помогло, и везде выдает одну и ту же ошибку: Traceback (most recent call last):
File "C:\Users\Мой_компьютер\PycharmProjects\pytDRL\main.py", line 17, in
rd = xlrd.open_workbook(name)
^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Мой_компьютер\PycharmProjects\pytDRL\venv\Lib\site-packages\xlrd\__init__.py", line 170, in open_workbook
raise XLRDError(FILE_FORMAT_DESCRIPTIONS[file_format]+'; not supported')
xlrd.biffh.XLRDError: Excel xlsx file; not supported
Короче ноль идей чё делать, мне просто нужно архив с xlsx файлами преобразовать в один текст в 1000 строк, в каждой строке должно быть указано ФИО сотрудника и, через пробел, его зарплата. Сотрудники должны быть упорядочены по алфавиту.Если у кого есть идей как это реализовать пишите...