Seite 1 von 1

data response string verarbeiten, kürzen, sortieren, filtern

Verfasst: Mittwoch 11. Juli 2012, 15:01
von tkbah
Hallo Leute,

Ich beschäftige mich schon seit 3 Wochen mit Python. Es macht mir auch jede menge spaß hab mir ein kleines program geschrieben wo mir ein paar Daten von einer Website abfragt. Nun habe ich folgende frage:

Da ich nur die Daten von der gesamten Webseite bekomme, wollte ich nun gerne die Daten von denn einzelnen Seiten heraus bekommen(Filtern):

Der string zum Filtern sieht so aus:

Code: Alles auswählen

[{"count":175,"query":"id=45gh74512a56","path":"45gh74512a56","lable":"site1","type":{"fact":"id","level":0}},{"count":6890,"query":"id=hj76rt3354t89","path":"hj76rt3354t89","lable":"site2","type":{"fact":"id","level":0}}]
Ich habe es schon mit

Code: Alles auswählen

list, tuple, dict und string
versucht.. bekomme aber nicht mein gewünschtes ergebnis. An regex hab ich mich versucht weis aber noch nicht genau wie es funktioniert.
Ich wollte mir das so ausgeben lassen das ich nur denn string hinter path: bekomme und der rest einfach weggeschnitten wird.
also 45gh74512a56 oder das hj76rt3354t89 so das man es filtern kann.

Ich weis das soviel schon darüber geschrieben wurde, aber ich finde einfach nicht bzw ich suche falsch.

Weis einer rat?

Greets TK

Re: data response string verarbeiten, kürzen, sortieren, fil

Verfasst: Mittwoch 11. Juli 2012, 15:02
von cofi

Re: data response string verarbeiten, kürzen, sortieren, fil

Verfasst: Mittwoch 11. Juli 2012, 15:08
von tkbah
Hi,

ja das wollte ich grad dazu schreiben,
wenn ich als loads geben oder load findet er diesen string nicht und dann kommt:

Code: Alles auswählen

 jdata2 = json.loads(jdata["query"])
TypeError: list indices must be integers, not str
Greets TK

Re: data response string verarbeiten, kürzen, sortieren, fil

Verfasst: Mittwoch 11. Juli 2012, 15:14
von deets
das Problem ist was auch immer du in jdata hast - das ist eine Liste, aber du greifst per String-Schluessel darauf zu. Das geht natuerlich nicht - du musst 0 oder 1 verwenden.

Re: data response string verarbeiten, kürzen, sortieren, fil

Verfasst: Mittwoch 11. Juli 2012, 15:17
von tkbah
In jdata2 steht :

Code: Alles auswählen

 jdata2 = [{"count":175,"query":"id=45gh74512a56","path":"45gh74512a56","lable":"site1","type":{"fact":"id","level":0}},{"count":6890,"query":"id=hj76rt3354t89","path":"hj76rt3354t89","lable":"site2","type":{"fact":"id","level":0}}] 
ich find es nur komisch das bei nem anderen json string klappt nur bei dem nicht..

Greets TK

Re: data response string verarbeiten, kürzen, sortieren, fil

Verfasst: Mittwoch 11. Juli 2012, 15:24
von cofi
Weil das kein String ist, sondern eine Liste von Dictionaries und eben nicht mehr JSON kodiert.

Re: data response string verarbeiten, kürzen, sortieren, fil

Verfasst: Mittwoch 11. Juli 2012, 15:38
von Sr4l
Wie du siehst sind die eigentlichen Daten in einer Liste gekapselt um also an count zu kommen.

Code: Alles auswählen

jdata2 = [{"count":175,"query":"id=45gh74512a56","path":"45gh74512a56","lable":"site1","type":{"fact":"id","level":0}},{"count":6890,"query":"id=hj76rt3354t89","path":"hj76rt3354t89","lable":"site2","type":{"fact":"id","level":0}}]

len(jdata2)
Out[2]: 2

jdata2[0]["count"]
Out[3]: 175

jdata2[1]["count"]
Out[4]: 6890

Re: data response string verarbeiten, kürzen, sortieren, fil

Verfasst: Mittwoch 11. Juli 2012, 15:50
von tkbah
Vielen Dank, das hat mir geholfen..

jetzt klappt es wunderbar

Danke, Danke, Danke


Greets TK