删除撇号以绘制matplotlib图

时间:2018-12-14 00:44:34

标签: python matplotlib

我正在尝试在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']

我相信这就是为什么我的图表无法正常工作

2 个答案:

答案 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))