Un progetto per la classe prevede l'analisi dei dati Twitter JSON. Sto ottenendo i dati e impostandolo sul file senza troppi problemi, ma è tutto in una riga. Questo va bene per la manipolazione dei dati che sto cercando di fare, ma il file è ridicolmente difficile da leggere e non riesco a esaminarlo molto bene, rendendo molto difficile la scrittura del codice per la parte di manipolazione dei dati.È necessario stampare piuttosto i dati JSON di Twitter su un file utilizzando Python
Qualcuno sa come farlo all'interno di Python (ad esempio, non utilizzando lo strumento da riga di comando, che non riesco a far funzionare)? Ecco il mio codice finora:
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()
Nota Apprezzo la gente mi punta a simplejson documentazione e tali, ma come ho detto, ho già guardato questo e continuerà ad avere bisogno di assistenza. Una risposta veramente utile sarà più dettagliata e esplicativa rispetto agli esempi trovati lì. Grazie
anche: Cercando questo nella riga di comando di Windows:
more twitterData.json | python -mjson.tool > twitterData-pretty.json
risultati in questo:
Invalid control character at: line 1 column 65535 (char 65535)
ti darei i dati che sto utilizzando, ma è molto grande e hai già visto il codice che ho usato per creare il file.
Dubito che in realtà si desidera scrivere dati binari ("wb") – Hamish
Mi è stato insegnato che questo era necessario per le macchine Windows e finora ha funzionato per tutti i miei compiti. Se puoi offrire documentazione sul motivo per cui questo potrebbe essere errato, sarei felice di guardarlo. – Zelbinian
È necessario solo se si sta lavorando con file binari o altri casi in cui è importante la forma specifica di fine riga (ad esempio '\ r \ n' vs' \ n'). Vedi http://stackoverflow.com/questions/3257869/difference-between-binary-and-text-i-o-in-python-on-windows.Nel tuo caso, vuoi terminazioni di linea amichevoli per Windows, ma potresti non ottenerlo dall'endpoint di Twitter, quindi dovresti aprire in modalità testo. – Hamish