繁体   English   中英

检查JSON字典是否为空并存储在列表中

[英]Checking whether a JSON dictionary is empty or not and storing in a list

我有一个加载到JSON中的Instagram API。 响应正常,我什至可以从接收到的数据中获取ID。 然后,将其保存在python列表中,并使用openpyxl将其放在Excel工作表中。

这里是要抓住的地方。 在加载值时,如果在删除instagram帐户(JSON将为空)的情况下,如果API没有响应,我想在列表中存储“ ACC Deleted”。

(注意:-我也提到了类似的问题,但没有得到我的答案。)

这是代码:

for r in range(1,51):
    var=r,test.cell(row=r,column=1).value
    xy=var[1]
    myopener=Myopener()
    url=myopener.open('https://api.instagram.com/v1/users/search?q='+xy+'&count=1&access_token=641567093.1fb234f.a0ffbe574e844e1c818145097050cf33')

    **beta=json.load(url)
    for item in beta['data']:
        list.append(item['id'])** //*HERE I WANT THE CHANGE*


    for j in range(len(list)):
        for row in sheet.iter_rows(min_row=j+1, max_row=j+1):
            for cell in row:
                cell.value=list[j]
                wb.save('sample.xlsx')

json响应是这样的:

{
"meta":  {
"code": 200
},
"data":  [
 {
  "username": "rawhawk_sk",
  "profile_picture": "https://scontent.cdninstagram.com/t51.2885-19/s150x150/12724928_109384759877664_1105313598_a.jpg",
  "id": "670907103",
  "full_name": "shwan mcswan"
}
]
}

如果json响应如下所示为空,则如何在列表中存储“已删除ACC”?

{
"meta":  {
"code": 200
},
"data":  []
} 

您可以检查脚本中的数据是否为空,如果是,则在列表中添加一个新条目“ ACC Deleted”。

import json

jsons = []
jsons.append("""{
"meta":  {
"code": 200
},
"data":  [
 {
  "username": "rawhawk_sk",
  "profile_picture": "https://scontent.cdninstagram.com/t51.2885-19/s150x150/12724928_109384759877664_1105313598_a.jpg",
  "id": "670907103",
  "full_name": "shwan mcswan"
}
]
}
""")

jsons.append("""{
"meta":  {
"code": 200
},
"data":  []
} """)

output_list = []

for txt in jsons:
    beta = json.loads(txt)
    if beta.get('data'):
        for item in beta['data']:
            output_list.append(item['id'])
    else:
        output_list.append('ACC deleted')

print(output_list)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM