我正在尝试解析文本文件,看起来像这样:
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'实例之间不支持'> ='
如果我要去:
if fields[1] == 'electrical engineer':
print(fields)
我让我的“电气工程师”弦女巫看起来像这样:
['1','电气工程师','0','90 \ n']
然后我看到 fields [3] 是一个字符串元素,所以我正在尝试:
if fields[1] == 'electrical engineer' and int(fields[3] >= 60):
print(fields)
但是只会出现相同的错误
将感谢您的任何建议
答案 0 :(得分:3)
split
方法返回字符串列表。 fields[3]
是一个字符串。您必须将其转换为int
。试试:
int(fields[3].rstrip()) >= 60
-rstrip()
删除\n
尾随行