Un proyecto para clase implica analizar datos de Twitter JSON. Estoy obteniendo los datos y configurándolos en el archivo sin muchos problemas, pero todo está en una línea. Esto está bien para la manipulación de datos que estoy tratando de hacer, pero el archivo es ridículamente difícil de leer y no puedo examinarlo muy bien, haciendo que el código de escritura para la parte de manipulación de datos sea muy difícil.Necesita imprimir bastante datos JSON de Twitter en un archivo usando Python
¿Alguien sabe cómo hacerlo desde dentro de Python (es decir, sin utilizar la herramienta de línea de comandos, que no puedo poner en práctica)? Aquí está mi código hasta ahora:
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 aprecio personas me señalan a simplejson documentación y tal, pero como ya he dicho, ya he mirado y que continúan necesitando asistencia. Una respuesta verdaderamente útil será más detallada y explicativa que los ejemplos que se encuentran allí. Gracias
también: Intentar esto en la línea de comandos de Windows:
more twitterData.json | python -mjson.tool > twitterData-pretty.json
resultados en esta:
Invalid control character at: line 1 column 65535 (char 65535)
Te daría los datos que estoy usando, pero es muy grande y ya has visto el código que utilicé para crear el archivo.
Dudo que realmente quiera escribir datos binarios ("wb") – Hamish
Me enseñaron que esto era necesario para las máquinas con Windows y hasta ahora ha funcionado para todas mis tareas. Si puede ofrecer documentación sobre por qué esto podría ser incorrecto, me gustaría verlo. – Zelbinian
Solo es necesario si trabaja con archivos binarios u otros casos en los que la forma específica de finalización de línea (por ejemplo, '\ r \ n' frente a' \ n') es importante. Ver http://stackoverflow.com/questions/3257869/difference-between-binary-and-text-i-o-in-python-on-windows.En tu caso, quieres terminaciones de línea amigables para Windows, pero es posible que no lo obtengas del punto final de Twitter, por lo que debes abrir en modo texto. – Hamish