此问题已在此处有答案:
What is causing "triple quotes" to change the indentation?(5个答案)
昨天关门了。
这篇帖子昨天编辑并提交审核,未能重新打开帖子:
原始关闭原因未解决
我想使用Jupyter以编程方式生成一个报告,需要将变量放入markdown表中。我找到了这个相关的答案:Related Answer。
但是,如果你将代码放在for循环中,表和列表的格式不会像你想要的那样(在Google Colab,Pycharm和Jupyter Notebook中测试过)。
from IPython.display import display_markdown
for i in range(2):
display_markdown(f'''## heading
- ordered
- list
The table below:
| id |value|
|----|-----|
| a | {i} |
| b | 2 |
''', raw=True)
在Jupyter Notebook、Pycharm和Google Colab中测试代码。如果在for循环之外使用,代码将提供正确格式的文本。
编辑这个问题Link描述了潜在的问题。但是,我相信不同的上下文(markdown格式)和对未来的搜索有帮助。
1条答案
按热度按时间xjreopfe1#
正如mkrieger的评论所说,问题在于你在行首添加的额外间距:
这个版本非常接近你的,但工作:
我只是删除了第一行之后行首的多余空格。
下面是一个使用字符串替换循环的代码版本,以完成相同的事情:
我使用的是从我熟悉的字符串生成markdown的变体,参见here。
顺便说一句,如果你想用Jupyter组装报告,nbformat是你可能想研究的东西。
here顶部的介绍可能会帮助您了解nbformat如何帮助您。重要的是,notebook和单元格的抽象以及单元格的类型都已内置,您可以轻松地输出新的notebook,其中包含您以编程方式设计的内容。
更多示例代码请参见here和here。