我正在尝试在matplotlib上绘制图形,但是由于值用撇号返回,因此无法正常工作,这是我的代码,
import matplotlib.pyplot as plt
emp_data_list=[]
def read_file():
infile = open ('emp_data.txt', 'r')
for row in infile:
if not row.startswith('#'):
row = row.rstrip('\n').split(', ')
emp_data_list.append(row)
infile.close()
read_file()
for item in range(len(emp_data_list)):
salaries = [stuff[4] for stuff in emp_data_list]
print salaries
我也将其用作薪金:
salaries = [salary for emp_no, name, age, pos, salary, yrs_emp in emp_data_list]
在打印薪水时返回:
['29000', '24000', '42000', '21000', '53000', '42000', '50000', '33000', '38000', '22000', '19000', '23000', '44000', '32000', '28000']
我相信这就是为什么我的图表无法正常工作
答案 0 :(得分:1)
尝试在下面的代码中将字符串转换为整数
salaries = [int(salary) for emp_no, name, age, pos, salary, yrs_emp in emp_data_list]
另外,欢迎您使用Stack Overflow!如果适合您,请将其标记为答案:)
答案 1 :(得分:1)
在print
输出中看到的撇号显示在那里,表明这些值是字符串。我想您需要在绘制之前将变量转换为整数:
salaries = list(map(int, salaries))