Я пытаюсь прочитать данные из файла, а затем построить словарь из файла. В этом словаре я хочу построить график с ключами словаря в виде графика X и значений словаря в качестве значений разметки. Однако ключевыми значениями являются строки, и мне просто нужно их обозначать. Я попробовал следующий код, который вызывает ошибку, указывающую, что значение ключа является строкой.Построение набора ключей и значений в Python
The data from the data.txt file reads as follows:
new:10,not new:30,10:40,a:5.0
from matplotlib import pyplot as plt
import numpy as np
fileopen=open("data.txt", "r")
for a in fileopen.readlines():
b= a.split(",")
fileopen.close()
newdict={}
for c in b:
newdict.update({c.rstrip("\',\",").split(":")[0]:eval(c.rstrip("\',\",").split(":")[1])})
plt.figure(figsize=(8,6), dpi=80)
x=[i for i in newdict]
plt.xticks(np.linspace(0,4,1, endpoint=True))
y=[newdict[j] for j in newdict]
plt.plot(y, color="blue", linewidth=1.0, linestyle="-")
plt.show()
И это ошибка, которую я получаю на своей консоли.
File "C:\Users\Annakoppad\Anaconda2\lib\site-packages\numpy\core\numeric.py", line 474, in asarray
return array(a, dtype, copy=False, order=order)
ValueError: could not convert string to float: a
Я не могу продолжить дальше, может кто-то помочь в этом отношении?
Заранее благодарен!