我正在使用ebay-sdkpython从ebay中提取数据。最终目标是对每个项目的特定字段进行项目的XLS转储。我想要操作的输出是一个复杂的嵌套列表/字典,如下所示:
dict = {'ack': 'Success',
'timestamp': '2015-11-20T03:49:08.302Z',
'version': '1.13.0',
'searchResult':
{'item': [
{'itemId': '111827613927',
'topRatedListing': 'false',
'sellingStatus':
{'currentPrice':
{'_currencyId': 'AUD',
'value': '290.0'},
'convertedCurrentPrice': {'_currencyId': 'AUD', 'value': '290.0'},
'sellingState': 'EndedWithSales'},
'listingInfo':
{'listingType': 'FixedPrice',
'endTime': '2015-11-20T03:35:07.000Z'}
},
'_count': '100'},
'paginationOutput':
{'totalPages': '114',
'entriesPerPage': '100',
'pageNumber': '1',
'totalEntries': '11364'}}
我知道我可以使用以下格式提取特定密钥:
print dict['searchResult']['item'][0]['itemId']
但是我希望通过不同级别的嵌套来拉动所有这些。我还需要错误处理,因为缺少某些字段,这些字段应该返回''。到目前为止我的代码是:
x=1
for item in response.dict()['searchResult']['item']:
print x,
for field in ['itemId','topRatedListing']:
try:
print item[field]
except KeyError:
print ''
x=x+1
print '\n'
我如何修改此for循环还包括,例如,[' sellstatus'] [' currentprice'] ['价值']?