我试图使用python从json数组中提取一个值。如何在特定日期获取"energy"
的值?以下是json的外观:
{
"emeter": {
"get_daystat": {
"day_list": [
{ "year": 2016, "month": 10, "day": 1, "energy": 0.651000 },
{ "year": 2016, "month": 10, "day": 2, "energy": 0.349000 },
{ "year": 2016, "month": 10, "day": 3, "energy": 0.481000 }
],
"err_code": 0
}
}
}
例如,使用:
^{pr2}$如何提取"energy"
的"energy"
值?在
parsed_json
将有一个python dict。您可以通过简单的线性搜索访问day_list
数组。在您可以对数据进行线性搜索:
如果没有匹配的日期,函数将有效地返回
None
。在*更新*
如果您在} 模块,该模块可用于执行简单的二进制搜索。不幸的是,其中没有一个函数像^{} 函数那样采用可选参数来控制比较。在
"day_list"
和中有很多天是按日期排序的(如您的示例所示),那么利用这一点并进行二元搜索比线性搜索更快。Python包含^{但是,可以通过查看模块的source code并编写自己的搜索函数来克服这一问题,如下所示:
^{pr2}$输出:
相关问题 更多 >
编程相关推荐