我将汽车计算机中的数据保存到json文件中。 (例如,引擎每分钟转数。) 我的文件json看起来像这样:
{"Clock": "17:37:42", "Value": 801.0}
{"Clock": "17:37:43", "Value": 791.0}
{"Clock": "17:37:45", "Value": 766.0}
{"Clock": "17:37:46", "Value": 788.0}
{"Clock": "17:37:47", "Value": 792.0}
....
我必须阅读此信息并将其放在图表中。 你能帮我吗?我将非常感激。
我在特定的库中使用python语言:tkinter,matplotlib等
我的代码部分如下:
def animate(i):
data=[]
with open('rpm.json') as f:
data=json.dumps(f)
data = pb.DataFrame(data)
clock=data[(data['Ora']=='%H:%M:%S')]
clock["datestamp"]=np.array(clock['%H:%M:%S']).astype("datetime64[s]")
dateClock=(clock["datesteam"]).tolist()
value = data[(data['Value'] == rpm.value.magnitude)]
value["datestamp"] = np.array(value[rpm.value.magnitude]).astype("datetime64[s]")
datevValue = (value["datesteam"]).tolist()
a.clear()
a.plot_date(dateClock, clock["Clock"])
a.plot_date(dateValue, value["Value"])
答案 0 :(得分:0)
正如@Josh Gordon在评论中指出的那样,您没有有效的json文件。一种解决方案是通过将以下各格括起来来修复格式。
res.status(400).send('Bad request')
另一种选择是逐个解析字典。如果最后需要熊猫数据框,则可以使用{"data":[
{"Clock": "17:37:42", "Value": 801.0},
{"Clock": "17:37:43", "Value": 791.0},
{"Clock": "17:37:45", "Value": 766.0},
{"Clock": "17:37:46", "Value": 788.0},
{"Clock": "17:37:47", "Value": 792.0}
]}
模块中的literal_eval
函数来读取每一行。
ast
您应该获得一个如下所示的数据框,从那里可以轻松绘制图形。
import ast
data = pd.DataFrame()
f = open('rpm.json')
for line in f:
data = data.append(ast.literal_eval(line), ignore_index=True)
f.close()