Python 如何从json查询中获取和打印特定数据?

Python 如何从json查询中获取和打印特定数据?,python,json,json-query,Python,Json,Json Query,因此,我希望能够根据特定条件提取数据,从这些数据中,我希望能够打印出这个查询中的多个项目……以下是我迄今为止所做的工作: def rec(): qe = JsonQ(r"C:\ShopFloor\data.json") res = qe.at('data').where('Status', '=', 1).get() for Process, Shortnum in res: print(Process['Process'] + " " + Shortnu

因此,我希望能够根据特定条件提取数据,从这些数据中,我希望能够打印出这个查询中的多个项目……以下是我迄今为止所做的工作:

def rec():
    qe = JsonQ(r"C:\ShopFloor\data.json")
    res = qe.at('data').where('Status', '=', 1).get()
    for Process, Shortnum in res:
        print(Process['Process'] + " " + Shortnum['Shortnum'])

rec()
这来自以下json文件:

{
    "data": [
        {
            "Shortnum": "34567",
            "Process": "SPA",
            "Status": 1,
            "Start_Time": "2016-12-14 15:54:35",
            "Finish_Time": "2016-12-14 15:56:02"
        },
        {
            "Shortnum": "34567",
            "Process": "Figure",
            "Status": 0,
            "Start_Time": "2016-12-08 15:34:05",
            "Finish_Time": "2016-12-08 15:34:09"
        },
我怎样才能让它正常工作?理想情况下,我希望从印刷品中得到这样的回应:

SPA 34567
无法获得当前输出,我收到此错误。。。我意识到我传递了太多的争论,但是我想不出一个合适的方法来做

Exception has occurred: ValueError
too many values to unpack (expected 2)
  File "C:\ShopFloor\main.py", line 101, in rec
    for Process, Shortnum in res:
  File "C:\ShopFloor\main.py", line 106, in <module>
    rec()
发生异常:ValueError 要解压缩的值太多(应为2个) 记录中第101行的文件“C:\ShopFloor\main.py” 对于进程,res中的Shortnum: 文件“C:\ShopFloor\main.py”,第106行,在 rec()
在Python中使用JSON的典型方法是将JSON对象作为Python
dict
加载:

import json
with open('C:/ShopFloor/data.json', 'r') as f:
    qe = json.load(f)
for item in qe['data']:
    if item['Status'] == 1:
        print(f'{item["Process"]} {item["Shortnum"]}')
注意这使用了(在访问f字符串中的字典值时,请确保交替使用单引号和双引号)。在Python 2中,将最后一行替换为:

        print('{} {}'.format(item['Process'], item['Shortnum']))

在Python中使用JSON的典型方法是将JSON对象作为Python
dict
加载:

import json
with open('C:/ShopFloor/data.json', 'r') as f:
    qe = json.load(f)
for item in qe['data']:
    if item['Status'] == 1:
        print(f'{item["Process"]} {item["Shortnum"]}')
注意这使用了(在访问f字符串中的字典值时,请确保交替使用单引号和双引号)。在Python 2中,将最后一行替换为:

        print('{} {}'.format(item['Process'], item['Shortnum']))

您可以显示您当前获得的输出吗?@Nathan对问题进行了更改您可以显示您当前获得的输出吗?@Nathan对问题进行了更改感谢您的回答,但是此方法不会从查询中获取
过程
shortnum
,它将提取所有内容,而我需要相同的数据,但仅适用于
status=1
查看编辑的答案-如果这解决了问题,请接受。感谢您的响应,但是此方法不会从查询中获取
进程
shortnum
,它将提取所有内容,而我需要相同的数据,但仅限于
status=1
请参见编辑的答案-如果这解决了问题,请接受。