【发布时间】:2019-02-17 20:10:38
【问题描述】:
我是 python 编程的新手。我正在尝试实现一个从文件中读取数据并以表格格式显示它的代码。但是,当我尝试运行我的代码时,它给出的错误是:
TypeError: string indices must be integers
这是我的代码:
from operator import itemgetter
emp_dict = dict()
emp_list = list()
with open('m04_lab_profiles','r') as people:
for p in people:
emp_list = p.strip().split(',')
emp_info = dict()
emp_info['Name'] = emp_list[0]
emp_info['Location'] = emp_list[1]
emp_info['Status'] = emp_list[2]
emp_info['Employer'] = emp_list[3]
emp_info['Job'] = emp_list[4]
emp_dict[emp_list[0]] = emp_list
emp_list.append(emp_info)
for info in emp_list:
print("{0:20} {1:25} {2:20} {3:20} {4:45}".format(int(info['Name'],info['Location'],info['Status'],info['Employer'],info['Job'])))
print("\n\n")
info_sorted = sorted(emp_list,key=itemgetter('Name'))
for x in info_sorted:
print("{0:20} {1:25} {2:20} {3:20}
{4:45}".format(emp_info['Name'],
emp_info['Address'],
emp_info['Status'],
emp_info['Employer'],
emp_info['Job']))
我已经尝试了几乎所有针对相同问题标题的其他解决方案,但都徒劳无功。请帮忙
【问题讨论】:
-
哪一行给出了错误?
-
@Jeppe 获取 emp_list 中的信息: print("{0:20} {1:25} {2:20} {3:20} {4:45}".format(int(info ['Name'],info['Location'],info['Status'],info['Employer'],info['Job'])) 我也试过这个,没有将类型转换为 int,但它没有不行。
标签: python-3.x