我正在尝试解析下面的json文件(数据.json)当我得到一个空响应(数据)时,还尝试处理异常(&A)_空.json)没有任何数据块密钥。你知道吗
check_key&for循环似乎什么也没做,但print命令可以工作。你知道吗
你知道吗--数据.json你知道吗
{
"response": {
"numFound": 1,
"data_block": [
{
"Number": "11097",
"ID": -61000,
"Version": "18",
"Sequence": [
"1",
"2",
"3"
],
"Status": [
"Booked",
"Canceled",
"Canceled"
],
"Name": "abc",
"EmailAddress": "abc@test.com"
},
{
"Number": "00001",
"ID": -1000,
"Version": "1",
"Sequence": [
"1"
],
"Status": [
"Booked"
],
"Name": "xyz",
"EmailAddress": "xyz@test.com"
}
]
}
}
--数据_空.json你知道吗
{
"response": {
"numFound": 0,
"data_block": []
}
}
我有下面的代码来解析json(数据.json),只有打印工作,但我不能得到for循环工作。你知道吗
import json
from pprint import pprint
import csv
data = json.load(open('data.json'))
#data = json.load(open('data_empty.json'))
#pprint(data)
output_file_name = 'api_rspns.csv'
#create out file
f = open(output_file_name,'w')
writer = csv.writer(f,delimiter = '~')
headers = ['ORDER_NBR','ORDER_STATUS','EMAIL']
writer.writerow(headers)
print(data['response']['data_block'][0]['Number'])
print(data['response']['data_block'][0]['Status'])
print(data['response']['data_block'][0]['EmailAddress'])
print(data['response']['data_block'][1]['Number'])
print(data['response']['data_block'][1]['Status'])
print(data['response']['data_block'][1]['EmailAddress'])
#check for KeyError ,only parse if ['data_block'] present
try:
check_key = data['response']['data_block'][0]
except KeyError:
#continue
for trip in check_key:
row = []
row.append(trip['Number'])
#row.append(trip["Status"])
writer.writerow(row)
f.close()
下面的代码现在可以工作了(还有一个空的响应),谢谢你的帮助
相关问题 更多 >
编程相关推荐