Aus Liste variablen Wert ausgeben

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Zerox035
User
Beiträge: 5
Registriert: Montag 8. März 2021, 21:38

Servus,

unten könnt ihr meinen Code sehen.
Bisher wird von der Cryptocompare API eine Liste an Daten ausgegeben (siehe Output).
Mein Ziel wäre es, dass nur der markierte Wert (nach close) ausgegeben und einer Variable zugeordnet wird

Viele Grüße & Danke im Voraus


Bild

import requests
import cryptocompare
import datetime

response = requests.get('https://min-api.cryptocompare.com/data/ ... KEYENTFERT')

a = cryptocompare.get_historical_price_day('ETH', 'EUR', limit=24, exchange='Kraken', toTs=datetime.datetime.utcnow())
b = a[0:1]
print(b)


Output: [{'time': 1613347200, 'close': 1467.57, 'high': 1511.99, 'low': 1381, 'open': 1489.71, 'volumefrom': 78749.13, 'volumeto': 115333562.43, 'conversionType': 'force_direct', 'conversionSymbol': ''}]
Sirius3
User
Beiträge: 18274
Registriert: Sonntag 21. Oktober 2012, 17:20

Warum erzeugst Du eine Liste mit exakt einem Element?
Ansonsten ist das ja ein ganz normales Wörterbuch und wie man auf Werte in einem Wörterbuch zugreift, sollte in einem der ersten Kapitel jedes Anfängertutorials stehen.

Benutze aussagekräftige Namen, a und b sind das nicht.
Zerox035
User
Beiträge: 5
Registriert: Montag 8. März 2021, 21:38

Bin noch Anfänger :)
Der Wert, welcher bisher hinter close steht ist variabel. Ich möchte nun diesem variablen Wert (1467.57) eine Variable zuordnen, sodass ich damit im weiter Skript rechnen kann.
Sirius3
User
Beiträge: 18274
Registriert: Sonntag 21. Oktober 2012, 17:20

Wenn Du Anfänger bist, dann such mal unter dem Stichwort Wörterbuch (dict).
Zerox035
User
Beiträge: 5
Registriert: Montag 8. März 2021, 21:38

Habe es jetzt gerade mit dict getestet, aber leider funktioniert es nicht. Mein Skript:
import requests
import cryptocompare
import datetime
import dictionaries

response = requests.get('https://min-api.cryptocompare.com/data/ ... c9f1834766')

dict = cryptocompare.get_historical_price_day('ETH', 'EUR', limit=24, exchange='Kraken', toTs=datetime.datetime.utcnow())
smalldict = dict[0:1]
print(smalldict('close'))

Output: [....] TypeError: 'list' object is not callable [...]
Benutzeravatar
__blackjack__
User
Beiträge: 14054
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Zerox035: Du sollst da nicht wild irgendwas sinnfreies ausprobieren sondern die Python-Grundlagen lernen. Wörterbuch (`dict`) ist einer der Grunddatentypen von Python. Da muss man nichts importieren. Der Datentyp heisst `dict` es ist also keine gute Idee den Namen an etwas anderes zu binden. Zudem ist das noch nicht einmal ein Wörterbuch sondern eine Liste. Aber auch `list` wäre kein guter Name dafür, denn auch da heisst der Datentyp wieder so. Und Grunddatentypen sollten auch nicht Namen vorkommen.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Antworten