如何从 json 查询中获取和打印特定数据?
How can I get and print specific data from a 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'] + " " + 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()
在 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"]}')
注意这里使用 Python 3's f-strings(在访问 f 字符串中的字典值时一定要交替使用单引号和双引号)。在 Python 2 中,将最后一行替换为:
print('{} {}'.format(item['Process'], item['Shortnum']))
所以我希望能够根据特定条件提取数据,然后我希望能够从该数据中打印出该查询中的多个项目...这是我目前所做的:
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()
在 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"]}')
注意这里使用 Python 3's f-strings(在访问 f 字符串中的字典值时一定要交替使用单引号和双引号)。在 Python 2 中,将最后一行替换为:
print('{} {}'.format(item['Process'], item['Shortnum']))