удаление апострофов для построения графа matplotlib - PullRequest
0 голосов
/ 14 декабря 2018

Я пытаюсь построить график на 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 голосов
/ 14 декабря 2018

Апострофы, которые вы видите в выводе print, отображаются там, чтобы указать, что значения являются строками.Я думаю, вам нужно преобразовать ваши переменные в целые числа перед построением графика:

salaries = list(map(int, salaries))
0 голосов
/ 14 декабря 2018

Попробуйте привести строки к целым числам в коде ниже

salaries = [int(salary) for emp_no, name, age, pos, salary, yrs_emp in emp_data_list]

Также добро пожаловать в переполнение стека!Отметьте это как ответ, если он работает для вас:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...