访问嵌套列表/词典

时间:2015-11-20 09:19:13

标签: python list dictionary nested

我正在使用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'] ['价值']?

0 个答案:

没有答案