【发布时间】:2012-02-28 12:41:17
【问题描述】:
一个类项目涉及解析 Twitter JSON 数据。我正在轻松获取数据并将其设置到文件中,但这一切都在一行中。这对于我正在尝试执行的数据操作来说很好,但是该文件非常难以阅读,我无法很好地检查它,这使得为数据操作部分编写代码非常困难。
有谁知道如何在 Python 中做到这一点(即不使用命令行工具,我无法开始工作)?到目前为止,这是我的代码:
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()
注意我很感谢人们向我指出 simplejson 文档等,但正如我所说,我已经看过并继续需要帮助。一个真正有用的回复将比那里找到的示例更详细和解释性更强。 谢谢
还有: 在 Windows 命令行中尝试:
more twitterData.json | python -mjson.tool > twitterData-pretty.json
结果:
Invalid control character at: line 1 column 65535 (char 65535)
我会给你我正在使用的数据,但它非常大,你已经看到了我用来制作文件的代码。
【问题讨论】:
-
我怀疑你真的想写二进制数据(“wb”)
-
我被告知这是 Windows 机器所必需的,到目前为止,我的所有作业都有效。如果您能提供文档说明为什么这可能不正确,我很乐意查看。
-
只有在处理二进制文件或其他特定行尾形式(例如
\r\nvs\n)很重要的情况下才需要。见stackoverflow.com/questions/3257869/…。在您的情况下,您需要 Windows 友好的行尾,但您可能无法从 twitter 端点获得,因此您应该以文本模式打开。 -
这能回答你的问题吗? How to prettyprint a JSON file?
标签: python json twitter pretty-print