当前位置: 首页 > 面试题库 >

使用Python将JSON数据漂亮地打印到文件中

单于越
2023-03-14
问题内容

用于类的项目涉及解析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)

我会给您我正在使用的数据,但是它非常大,您已经看到了我用来制作文件的代码。


问题答案:

您应该使用可选参数indent

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", "w")
# magic happens here to make it pretty-printed
twitterDataFile.write(simplejson.dumps(simplejson.loads(output), indent=4, sort_keys=True))
twitterDataFile.close()


 类似资料:
  • 问题内容: 如果有人对JSON的打印非常了解,那么我将不胜感激! 我正在使用以下功能将JSON字符串移动到文件中,以将复杂的python字符串转换为JSON格式: 问题是我遇到了方括号的语法错误,因为这对我来说是个新话题,我不知道该如何解决。我需要的JSON格式如下: 我正在使用Google Visualization API,您可能对此比较熟悉,但是我需要动态图。上面的代码是API创建图形所需的

  • 问题内容: 我试图使我的数据集与此示例相对应: 我有一个名称和与那些名称可以引用的特定实体相对应的唯一字母数字值,我们将这些条目称为“ ID”。 因此,例如,可能与ID有关,因为这是一个非常具体的参考,因此没有很多广为人知的具有该名称的图形。然而,可能被附加到,和,引用也许是男人,啤酒和灌木,没有特定的顺序。 看起来像这样(实际的更大): 使用杰克逊,我这样尝试: 但这似乎是错误的,因为我的输出全

  • 问题内容: 有人知道在Go中漂亮地打印JSON输出的简单方法吗? 库存的 http://golang.org/pkg/encoding/json/ 软件包似乎不包含此功能 (编辑:确实如此,请参见接受的答案),而且快速的Google并没有发现任何明显的问题。 我正在寻找的用途既可以打印出JSON 的结果,又可以从任何地方格式化一个充满JSON的字符串,因此出于调试目的而更易于阅读。 问题答案: 通

  • 问题内容: 这似乎是一个已解决的问题,但我无法找到解决方案。 基本上,我读取了一个JSON文件,更改了密钥,然后将新的JSON写回到同一文件。都可以,但是我松了JSON格式,所以,而不是: 我懂了 Node.js中是否可以将格式良好的JSON写入文件? 问题答案: 的第三个参数定义用于漂亮打印的空白插入。它可以是字符串或数字(空格数)。Node可以使用写入您的文件系统。例: 请参阅MDN上的JSO

  • 有人知道一种简单的方法可以在Go中漂亮地打印JSON输出吗? 股票 http://golang.org/pkg/encoding/json/软件包似乎不包含此功能 (编辑:是的,请参见公认的答案),快速的谷歌搜索不会发现任何明显的问题。 我正在寻找的用法都是漂亮的打印json的结果。封送,然后格式化来自任何地方的充满JSON的字符串,因此更容易出于调试目的进行读取。

  • 问题内容: 我正在使用lxml.html生成一些HTML。我想将最终结果漂亮地打印(带有缩进)到html文件中。我怎么做? 这是我迄今为止一直尝试并得到的(我对Python和lxml还是比较陌生的): 如您所见,我正在使用该属性。我以为可以缩进代码,但这并没有真正的帮助。这是输出: 问题答案: 我最终直接使用BeautifulSoup。这就是lxml.html.soupparser用于解析HTML