IndexError: list index out of range, кто знает в чем как устранить?

хочу вывести имя сотрудника у которого наибольшая зарплата за первое полугодие но пока что могу вывести только его ИНН так как есть два файла: 1)содержит имя, ИНН 2)содержит ИНН, зарплату за первое полугодие, зарплату за второе полугодие


with open('salary.txt') as file:
  lines = file.read().splitlines()

with open('workers.txt') as file:
  lines2 = file.read().splitlines()

max_salary = max([x.split(',')[1] for x in lines])
inn = [x.split(',')[0] for x in lines if x.split(',')[1] == max_salary][0]
max_salary_user = [x.split(',')[0] for x in lines2 if x.split(',')[1][4:] == inn][0]

print(max_salary_user)

Первый файл(workers.txt):
Антон М.П.,ІНН:1234567898
Зухра М.Ю.,ІНН:1234567891
Артур О.Ю.,ІНН:1234567897
Павло М.Р.,ІНН:1234567894
Назар А.В.,ІНН:1234567899
Надар С.Ф.,ІНН:1234567892
Марія Л.В.,ІНН:1234567893
Еріка М.П.,ІНН:1234567895
Анеля Р.Ю.,ІНН:1234567810
Артем В.Ю.,ІНН:1234567896

Второй файл(salary.txt):
1234567898,99424,99524
1234567891,91300,95020
1234567897,91870,98200
1234567894,63400,67510
1234567899,80500,76020
1234567892,68070,65500
1234567893,76320,78000
1234567895,97600,96050
1234567810,98060,97200
1234567896,78030,83002

вывод


Ответы (1 шт):

Автор решения: MaxU

Откройте для себя модуль Pandas:

import pandas as pd #   pip install pandas  | conda install pandas

d1 = pd.read_csv("workers.txt", header=None, names=["name", "inn"])
d2 = pd.read_csv("salary.txt", header=None, names=["inn", "salary1", "salary2"], dtype={"inn":"str"})
d1["inn"] = d1["inn"].str.replace("ІНН:", "")

res = d1.merge(d2).nlargest(1, "salary1")

результат:

In [73]: res
Out[73]:
         name         inn  salary1  salary2
0  Антон М.П.  1234567898    99424    99524
→ Ссылка