Abfrage api Elasticsearch gespeichert in einer Textvariablen verwandeln
Verfasst: Donnerstag 13. Juli 2017, 11:43
Halo !
Ich möchte verwandeln die Ausgabe einer API-Abfrage zu einer Textvariable.
Die Abfrage ist gelagert mit ElasticSearch und sieht aus wie :
Und ich möchte bekommen es wie :
Tatsächlich verwende ich es in der folgenden Funktion :
Dennoch, wenn Sie eine andere Idee haben, bin ich offen für sie.
Wie es produziert und gespeichert wird
Hier ist wie es produziert die Aufgabe
In der Datei Main.py ich nenne eine Klass Util :
In der Klasse versuche ich, die Ausgabe in Text zu verwandeln.
Aber nicht fuktioniert. Es sieht aus wie der erste Code.
Ich möchte verwandeln die Ausgabe einer API-Abfrage zu einer Textvariable.
Die Abfrage ist gelagert mit ElasticSearch und sieht aus wie :
Code: Alles auswählen
b'{"BTC":{"USD":2403.99},"ETH":{"USD":222.1},"DASH":{"USD":179.04}}'
b'{"BTC":{"USD":2402.89},"ETH":{"USD":222.1},"DASH":{"USD":179.04}}'
...
Code: Alles auswählen
json_text = """
[
{"BTC":{"USD":2403.99},"ETH":{"USD":222.1},"DASH":{"USD":179.04}},
{"BTC":{"USD":2402.89},"ETH":{"USD":222.1},"DASH":{"USD":179.04}}
]
"""
Code: Alles auswählen
a = json.loads(json_text)
values = [(each["BTC"].get("USD"), each["ETH"].get("USD"), each["DASH"].get("USD")) for each in a]
Wie es produziert und gespeichert wird
Hier ist wie es produziert die Aufgabe
In der Datei Main.py ich nenne eine Klass Util :
Code: Alles auswählen
import threading
from Elastic import Elastic
import urllib.request
from ValueAnalyse import ValueAnalyse
class Util:
def __init__(self):
pass
def disp(self,el,call,prices,assets):
threading.Timer(1, self.disp,[el,call,prices,assets]).start()
value = urllib.request.urlopen(call).read()
prices.append(value)
print(len(prices))
print("prices : ")
print(type(prices))
a = " ".join(str(x) for x in prices)
print(a)
va = ValueAnalyse(a)
el.store(assets,value)
Aber nicht fuktioniert. Es sieht aus wie der erste Code.