Я пытаюсь разобрать текстовый файл, который выглядит так:
1, инженер-электрик, 0; 90
2; механика; 0; 77
3; ученый; 1; 71
4; специалист по компьютерам; 1; 90
У вас есть возможность отделить необходимые элементы. Ниже приведен мой код:
with open('employee.txt', 'r') as employee_list:
for employee in employee_list.readlines():
fields = employee.split(';')
if fields[1] == 'electrical engineer' and fields[3] >= 60:
print(fields)
Но я получаю сообщение об ошибке:
TypeError: '> =' не поддерживается между экземплярами 'str' и 'int'
Также, если Im собирается:
if fields[1] == 'electrical engineer':
print(fields)
Я получаю свою "электрику", ведьму ведьмы выглядит так:
['1', 'electric engineer', '0', '90\n ']
И я вижу, какие поля [3] являются строковым элементом, поэтому Im пытается:
if fields[1] == 'electrical engineer' and int(fields[3] >= 60):
print(fields)
Но просто получая ту же ошибку
По достоинству оценят любые советы
split
метод возвращает список строк. fields[3]
- это строка. Вы должны преобразовать его в int
. Пытаться:
int(fields[3].rstrip()) >= 60
- rstrip()
чтобы удалить \n
трейлинг