Ich habe den folgenden Code:Parse-Code innerhalb json (Python)
from googlefinance import getQuotes
import simplejson as json
print (json.dumps(getQuotes('FRA:BMW'), indent=2))
b=(json.dumps(getQuotes('FRA:BMW'), indent=2))
print(type(b))
a = json.loads((json.dumps(getQuotes('FRA:BMW'), indent=2)))
print(type(a))
Dies ist, was ich bekommen:
[
{
"LastTradePrice": "73.39",
"LastTradeWithCurrency": "€73.39",
"LastTradeDateTime": "2016-05-13T19:57:30Z",
"LastTradeDateTimeLong": "May 13, 7:57PM GMT+2",
"ID": "10224532",
"Index": "FRA",
"StockSymbol": "BMW",
"LastTradeTime": "7:57PM GMT+2"
}
]
<class 'str'>
<class 'list'>
[{'LastTradePrice': '73.39', 'LastTradeWithCurrency': '€73.39', 'LastTradeDateTimeLong': 'May 13, 7:57PM GMT+2', 'LastTradeDateTime': '2016-05-13T19:57:30Z', 'ID': '10224532', 'Index': 'FRA', 'StockSymbol': 'BMW', 'LastTradeTime': '7:57PM GMT+2'}]
test
Traceback (most recent call last):
line 11, in <module>
print((a)["Index"])
TypeError: list indices must be integers or slices, not str
Wie Sie sehe ich bin nicht in der Lage drucke den "Index" -Wert (in diesem Fall: FRA) (letzte Codezeile des Skripts) Keine Ahnung, wie das funktionieren könnte.
Sie müssen Ihre Variablen nicht in Klammern umgeben. 'b = json.dumps (getQuotes ('FRA: BMW'), indent = 2)' würde funktionieren, aber der Fehler besagt, dass man nicht auf eine Liste (etwas in der Form von '[data]') mit einem String zugreifen kann wie 'a [" index "]'. Du könntest versuchen 'a [0] [" Index "]' –
Vielen Dank für deine Unterstützung! – theamokdog