2016-04-04 17 views
-1

Wie extrahiere ich die Daten von dieser URL? Ich möchte nur all den ‚Wert‘ auszudruckenExtrahieren Sie Daten aus Json-Datei mit Python

import urllib 
import re 
import json 

htmltext = urllib.urlopen("http://www.bloomberg.com/markets/api/bulk-time-series/price/AXP%3AUS?timeFrame=1_MONTH").read() 
data = json.loads(htmltext) 

print data 

Dies ist, was der API-Display als Folge von Druck url Befehl:

[{u'lastPrice': 60.85, u'price': [{u'date': u'2016-03-04', u'value': 58.29}, {u'date': u'2016-03-07', u'value': 59}, {u'date': u'2016-03-08', u'value': 59.43}, {u'date': u'2016-03-09', u'value': 59.05}, {u'date': u'2016-03-10', u'value': 58.75}, {u'date': u'2016-03-11', u'value': 59.46}, {u'date': u'2016-03-14', u'value': 59.57}, {u'date': u'2016-03-15', u'value': 59.23}, {u'date': u'2016-03-16', u'value': 59.7}, {u'date': u'2016-03-17', u'value': 60.08}, {u'date': u'2016-03-18', u'value': 61.22}, {u'date': u'2016-03-21', u'value': 61.21}, {u'date': u'2016-03-22', u'value': 60.61}, {u'date': u'2016-03-23', u'value': 60.63}, {u'date': u'2016-03-24', u'value': 60.47}, {u'date': u'2016-03-28', u'value': 60.28}, {u'date': u'2016-03-29', u'value': 60.6}, {u'date': u'2016-03-30', u'value': 60.29}, {u'date': u'2016-03-31', u'value': 61.4}, {u'date': u'2016-04-01', u'value': 61.1}], u'priceMinDecimals': 2, u'nyTradeEndTime': u'16:30:00.000', u'lastUpdateDate': u'2016-04-04', u'nyTradeStartTime': u'09:30:00.000', u'id': u'AXP:US', u'timeZoneOffset': -4, u'dateTimeRanges': {}}] 
+2

Haben Sie schon versucht, über die Liste zu iterieren? –

Antwort

0

Sie alle Werte auf diese Weise erhalten. Holen Sie sich das erste Element in der Datenliste (es gibt nur 1 Element). Rufen Sie die price Liste auf, durchlaufen Sie dann alle Preiswörterbücher und rufen Sie das Feld value für jedes Feld ab.

values = [p['value'] for p in data[0]['price']] 
+0

Dieser Code funktioniert. –

+0

Frage mich immer noch, wie es funktioniert? –

Verwandte Themen