如何在 python 中迭代一个 json 对象以用每个项目填充数据库

我想通过 python 遍历下面显示的 json,以便将对象中的每个项目填充到我的数据库中:


[{

    'description': 'DP WORLD',

    'displaySymbol': '3DW.HM',

    'symbol': '3DW.HM'

}, {

    'description': 'SPDR Series Trust - SPDR S&P 600 Small Cap Value ETF',

    'displaySymbol': '4JZ3.HM',

    'symbol': '4JZ3.HM'

}, {

    'description': 'DGH Deutsche Grundwert Holding AG',

    'displaySymbol': '5TR.HM',

    'symbol': '5TR.HM'

}, { 


    [...]


}]

这是我的方法:


def getStocksAvailable:

    exchangeHamburg = (requests.get('https://....').json())


    for item in exchangeHamburg:

            print(item[0])

            print(item[1])

            print(item[2])


    # push to DB logic


getStocksAvailable();

这给我这个错误:


Traceback (most recent call last):

  File "C:/Users/Jonas/Desktop/CFD/CFD/feeder/feeder.py", line 24, in <module>

    getStocksAvailable();

  File "C:/Users/Jonas/Desktop/CFD/CFD/feeder/feeder.py", line 20, in getStocksAvailable

    print(item[0])

KeyError: 0

更新了所做的评论,现在抛出新错误


幕布斯6054654
浏览 146回答 2
2回答

烙印99

字典有命名元素,没有编号。所以应该是&nbsp; &nbsp; &nbsp; &nbsp; print(item['description'])&nbsp; &nbsp; &nbsp; &nbsp; print(item['displaySymbol'])&nbsp; &nbsp; &nbsp; &nbsp; print(item['symbol'])

牛魔王的故事

你知道哪些键来自那个字典。由于其结构,dict values 调用起来很简单:for&nbsp;item&nbsp;in&nbsp;exchangeHamburg:&nbsp; &nbsp;&nbsp;&nbsp;print(item.get('description',&nbsp;'default&nbsp;value'))注意 .get 方法搜索键“描述”然后返回它的值,或者从第二个参数返回“默认值”(没有第二个参数它返回无)。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python