34 lines
1.2 KiB
Python
34 lines
1.2 KiB
Python
import pandas as pd
|
|
import yfinance as yf
|
|
|
|
def lade_kurse(csv_datei: str, ausgabe_datei: str = "kurse.csv"):
|
|
# CSV lesen, erwartet Spalte 'Symbol'
|
|
daten = pd.read_csv(csv_datei)
|
|
if 'Symbol' not in daten.columns:
|
|
raise ValueError("CSV-Datei benötigt eine Spalte mit dem Namen 'Symbol'.")
|
|
|
|
symbole = daten['Symbol'].dropna().unique()
|
|
|
|
# Kursdaten von Yahoo Finance abrufen
|
|
kurs_liste = []
|
|
for symbol in symbole:
|
|
try:
|
|
ticker = yf.Ticker(symbol)
|
|
info = ticker.history(period='1d')
|
|
if not info.empty:
|
|
letzter_kurs = info['Close'].iloc[-1]
|
|
kurs_liste.append({"Symbol": symbol, "Letzter_Kurs": letzter_kurs})
|
|
else:
|
|
kurs_liste.append({"Symbol": symbol, "Letzter_Kurs": None})
|
|
except Exception as e:
|
|
kurs_liste.append({"Symbol": symbol, "Letzter_Kurs": None, "Fehler": str(e)})
|
|
|
|
# Ergebnisse speichern
|
|
df_kurse = pd.DataFrame(kurs_liste)
|
|
df_kurse.to_csv(ausgabe_datei, index=False)
|
|
print(f"Kurse wurden erfolgreich in {ausgabe_datei} gespeichert.")
|
|
|
|
# Beispielaufruf (entferne Kommentar zur Nutzung)
|
|
lade_kurse('meine_aktien.csv')
|
|
|