如何在python中迭代json对象以使用每个项填充数据库
我想通过python迭代如下所示的json,以便将对象中的每个项填充到我的数据库中:如何在python中迭代json对象以使用每个项填充数据库,python,json,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',
[{
'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
回溯(最近一次呼叫最后一次):
文件“C:/Users/Jonas/Desktop/CFD/CFD/feeder/feeder.py”,第24行,在
getStocksAvailable();
文件“C:/Users/Jonas/Desktop/CFD/CFD/feeder/feeder.py”,第20行,在getStocksAvailable中
打印(项目[0])
关键错误:0
使用所做的注释进行更新,现在抛出新错误字典已命名元素,而不是编号。应该如此
print(item['description'])
print(item['displaySymbol'])
print(item['symbol'])
您知道哪些键来自该dict。由于其结构,dict值很容易调用,因此:
for item in exchangeHamburg:
print(item.get('description', 'default value'))
注意.get方法搜索键“description”,然后返回其值,或者从第二个参数返回“default value”(如果没有第二个参数,则返回None) 很明显,您收到的是
dict
,而不是列表,因此数据不是您提供的数据。请使您的示例可复制。一般建议:如果您需要快速帮助,请创建一个可复制和粘贴的MWE。我知道了,括号就是问题所在。可以关闭。。。谢谢多混乱啊…@tamasgal是的,够了。关闭