是否有现有的方法获取<code>json。dumps()输出在ipython笔记本中显示为“漂亮”格式的JSON?
import uuid
from IPython.display import display_javascript, display_html, display
import json
class RenderJSON(object):
def __init__(self, json_data):
if isinstance(json_data, dict):
self.json_str = json.dumps(json_data)
else:
self.json_str = json_data
self.uuid = str(uuid.uuid4())
def _ipython_display_(self):
display_html('<div id="{}" style="height: 600px; width:100%;"></div>'.format(self.uuid), raw=True)
display_javascript("""
require(["https://rawgit.com/caldwell/renderjson/master/renderjson.js"], function() {
document.getElementById('%s').appendChild(renderjson(%s))
});
""" % (self.uuid, self.json_str), raw=True)
要以可折叠格式输出数据:
RenderJSON(your_json)
从此处粘贴的副本:https://www.reddit.com/r/IPython/comments/34t4m7/lpt_print_json_in_collapsible_format_in_ipython/
github:https://github.com/caldwell/renderjson
这可能与OP所要求的略有不同,但您可以使用IPython.display.JSON
以交互方式查看JSON/dict
对象。
from IPython.display import JSON
JSON({'a': [1, 2, 3, 4,], 'b': {'inner1': 'helloworld', 'inner2': 'foobar'}})
编辑:这适用于氢和JupyterLab,但不适用于Jupyter Notebook或IPython终端。
氢气内部:
json.dumps
有一个indent
参数,打印结果应该就足够了:
print(json.dumps(obj, indent=2))
问题内容: 我尝试过,,前者只能打印Unicode版本,而后者却不能打印出漂亮的照片。 问题答案: 您需要使用显示: 它将选择适当的表示形式(text / LaTex / png …),在默认情况下,默认情况下会导入最新版本的IPython(6.0+)显示,仍然建议显式导入它。
我有下面的ipython笔记本代码(标记): 我怎样才能: 左对齐单元格的表格,现在默认为居中
问题内容: 如果有人对JSON的打印非常了解,那么我将不胜感激! 我正在使用以下功能将JSON字符串移动到文件中,以将复杂的python字符串转换为JSON格式: 问题是我遇到了方括号的语法错误,因为这对我来说是个新话题,我不知道该如何解决。我需要的JSON格式如下: 我正在使用Google Visualization API,您可能对此比较熟悉,但是我需要动态图。上面的代码是API创建图形所需的
Jupyter笔记本(Python)以漂亮的打印格式返回单元格中最后一个变量的值。 使用打印(df)不会将数据框打印得很好。但这会很好地打印到Jupyter笔记本上: 如何以漂亮的打印格式打印多个变量? 这里只会以漂亮的打印格式打印: 答案如下(摘自:在iPython笔记本中将数据框显示为表)
我努力想喜欢IPython笔记本,但可能是因为我太习惯于用vi编写代码并在命令行执行,所以我发现它的一些默认设置很有挑战性。可以对以下内容做些什么(可能在某个配置文件中)? 我希望默认输出行号,而不必记住,也不必每次都设置别名。 我如何设置默认为"off",以阻止IPython污染我的命名空间与它的非百分比魔法和shell命令?我知道我可以使用选项和选项:是否有等效的选项? 让我抓狂的是,我从来都
我运行一个iPython笔记本服务器,希望用户能够下载一个作为csv文件的pandas dataframe,这样他们就可以在自己的环境中使用它。没有个人数据,所以如果解决方案包括在服务器上编写文件(我可以这样做),然后下载该文件,我很乐意这样做。
问题内容: 我正在使用内联模式下的IPython Notebook和plot命令绘制一个NumPy值数组。 结果输出为: 然后,我的图显示在这些输出线的下方。 有没有办法只显示图并从输出中隐藏? 问题答案: 您可以使用分号结束行。这样可以在生成图时抑制不必要的输出: 通常,使用分号可以阻止IPython从代码块的该行打印任何输出值。例如,执行包含代码的单元将不会输出。 另一种方法是将变量绑定到图:
问题内容: 我使用以下代码将a漂亮地打印到JSON中: 输出: 这有点 太多了 (每个列表元素的换行!)。 我应该使用哪种语法: 代替? 问题答案: 几年后,我找到了带有内置模块的解决方案: 输出: