如何在python中迭代一个json对象,以使用每个项目填充数据库[关闭]

问题描述 投票:0回答:2

我想通过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

已更新注释,现在引发新错误

python json
2个回答
1
投票

字典已命名元素,未编号。所以应该是

        print(item['description'])
        print(item['displaySymbol'])
        print(item['symbol'])

0
投票

[您知道女巫钥匙来自那个字典。由于其结构,dict值很容易调用:

for item in exchangeHamburg:
    print(item.get('description', 'default value'))

注意,.get方法搜索键“描述”,然后返回其值,或者从第二个参数返回“默认值”(不带第二个参数,则返回None)。

© www.soinside.com 2019 - 2024. All rights reserved.