比较不同数据类型的问题
Compare issues of different datatypes
我正在尝试解析文本文件 一个看起来像:
1;electrical engineer;0;90
2;mechanic;0;77
3;scientist;1;71
4;computers specialist;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: '>=' not supported between instances of 'str' and 'int'
此外,如果我要去:
if fields[1] == 'electrical engineer':
print(fields)
我的 'electrical engineer' 字符串 看起来像:
['1', 'electrical engineer', '0', '90\n']
而且我看到 fields[3] 是一个字符串元素,所以我正在尝试:
if fields[1] == 'electrical engineer' and int(fields[3] >= 60):
print(fields)
但还是出现同样的错误
将不胜感激任何建议
split
方法 returns 字符串列表。 fields[3]
是一个字符串。您必须将其转换为 int
。尝试:
int(fields[3].rstrip()) >= 60
-- rstrip()
删除 \n
尾随
我正在尝试解析文本文件 一个看起来像:
1;electrical engineer;0;90
2;mechanic;0;77
3;scientist;1;71
4;computers specialist;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: '>=' not supported between instances of 'str' and 'int'
此外,如果我要去:
if fields[1] == 'electrical engineer':
print(fields)
我的 'electrical engineer' 字符串 看起来像:
['1', 'electrical engineer', '0', '90\n']
而且我看到 fields[3] 是一个字符串元素,所以我正在尝试:
if fields[1] == 'electrical engineer' and int(fields[3] >= 60):
print(fields)
但还是出现同样的错误
将不胜感激任何建议
split
方法 returns 字符串列表。 fields[3]
是一个字符串。您必须将其转换为 int
。尝试:
int(fields[3].rstrip()) >= 60
-- rstrip()
删除 \n
尾随