Python :: Aufgabe #43
2 Lösungen

Aktuellen Aktienkurs auslesen und ausgeben
Fortgeschrittener - Python
von Gustl
- 08.11.2013 um 19:57 Uhr
Schreibe ein Konsolenprogramm welches den aktuellen Aktienkurs von eine Aktien deiner Wahl ausgibt.
Benutze hierfür eine API. Als kleine Anregung: yahoo finance API
Benutze hierfür eine API. Als kleine Anregung: yahoo finance API
Lösungen:

import sys, urllib.request #Zaehler fuer eine schoene Ausgabe zaehler = 0 #Dictionary mit allen 30 Dow Jones Unternehmen dic = {"MMM":"3M", "AXP":"American Express", "AAPL":"Apple", "BA":"Boeing", "CAT":"Caterpillar", "CVX":"Chevron", "CSCO":"Cisco Systems", "KO":"Coca-Cola", "DFT":"DuPont", "XOM":"Exxon Mobil", "GE":"General Electric", "GS":"Goldman Sachs", "HD":"Home Depot", "IBM":"IBM", "INTC":"Intel", "JNJ":"JohnsonJohnson", "JPM":"JPMorgan", "MCD":"McDonalds", "MRK":"MerckCo", "MSFT":"Microsoft", "NKE":"Nike", "PFE":"Pfizer", "PG":"ProcterGamble", "TRV":"Travelers Companies", "UTX":"United Technologies", "UNH":"UnitedHealth Group", "VZ":"Verizon", "V":"Visa", "WMT":"Wal-Mart", "DIS":"Walt Disney", } #Auflistung der Dow Jones Unternehmen print(60*"-") for key in sorted(dic, key=dic.get): print("{0:25}".format(dic[key]), end=' ') zaehler += 1 if zaehler % 2 == 0 or zaehler == 29: print() print(60*"-") while True: index = 0 suche_name = input("Fuer den aktuellen Aktienkurs bitte eins auswaehlen: ") for abkuerzung, name in dic.items(): if name == suche_name: index = abkuerzung try: datei = urllib.request.urlopen(str("http://download.finance.yahoo.com/d/quotes.csv?s=@^DJI,") + index + str("&f=l1&e=.csv")) except: print("Flasche Eingabe oder Boese down.") continue text = datei.read() datei.close() kurs = ''.join(chr(text[i]) for i in range(0,len(text)-1)) print("Akuteller Aktienkurs von", suche_name, "in $:", kurs) nochmal = input("Nochmal (j/n): ") if nochmal == 'j' or nochmal == 'J': continue else: break

import urllib2 input = raw_input('enter short name') # possible examples = 'AAPL', 'MSFT','GOOG' # call API response = urllib2.urlopen('http://finance.yahoo.com/d/quotes.csv?s=%(name)s&f=snat1' % {'name':input}) # parse and print result= {} data = response.read().split('\n')[0].split(',') result['name'] = data[1].replace('"','') result['price'] = data[2] print('The share price of %(name)s is currently $%(price)s.' % result)