Pretty-Print JSON-Daten in eine Datei mit Python

Einem Projekt für die Klasse beinhaltet das analysieren von Twitter JSON-Daten. Ich bin immer die Daten und wenn er auf die Datei, ohne viel Mühe, aber es ist alles in einer Zeile. Dies ist gut für die Daten-manipulation-ich bin versucht zu tun, aber die Datei ist unglaublich schwer zu Lesen und ich nicht prüfen kann, ist es sehr gut, was das schreiben von code für die Datenmanipulation Teil sehr schwierig.

Weiß jemand, wie man in Python (also nicht mit dem command line tool, welches ich nicht auf Arbeit)? Hier mein code bisher:

header, output = client.request(twitterRequest, method="GET", body=None,
                            headers=None, force_auth_header=True)

# now write output to a file
twitterDataFile = open("twitterData.json", "wb")
# magic happens here to make it pretty-printed
twitterDataFile.write(output)
twitterDataFile.close()

Hinweis ich Schätze Menschen zeigen mir simplejson Dokumentation und so, aber als ich festgestellt habe, habe ich bereits angeschaut haben und weiterhin Unterstützung benötigen. Eine wirklich hilfreiche Antworten werden Ausführlicher und erklärender ist als die Beispiele dort. Dank

Auch:
Sie versuchen, diese in die windows-Befehlszeile:

more twitterData.json | python -mjson.tool > twitterData-pretty.json

Ergebnisse, in:

Invalid control character at: line 1 column 65535 (char 65535)

Ich würde geben Sie die Daten, die ich verwende, aber es ist sehr groß und Sie haben bereits gesehen, den code, den ich verwendet, um die Datei.

  • Ich bezweifle, dass Sie wirklich wollen, zu schreiben, die Binärdaten ("wb")
  • Ich wurde gelehrt, dies war notwendig für Windows-Maschinen, und so weit gearbeitet hat, für alle meine Aufgaben. Wenn Sie bieten können, die Dokumentation, warum dies möglicherweise falsch, wäre ich glücklich, es zu betrachten.
  • Es ist nur notwendig, wenn Sie das arbeiten mit Binär-Dateien, oder anderen Fällen, in denen die spezifische form der Zeilenende (z.B. \r\n vs \n) ist wichtig. Siehe stackoverflow.com/questions/3257869/.... In Ihrem Fall, Sie möchten, dass windows-freundlich Zeilenenden, aber Sie vielleicht nicht bekommen, dass aus dem twitter-Endpunkt, so öffnen Sie im text-Modus.
InformationsquelleAutor Zelbinian | 2012-02-07
Schreibe einen Kommentar