英文:
How can I use display Markdown in a qmd file?
问题
我正在思考如何在一个qmd文件中正确地显示Markdown。我有这段代码:
#| echo: true
# Pandas laden
import pandas as pd
# csv Datei über read_csv laden
file = "Priorisierung_der_Anforderungen.csv"
df = pd.read_csv(file)
Anzahl_Karten = str(len(df))
from IPython.display import display, Markdown
display(Markdown("""
# Lesen der Daten
Im Anforderungsworkshop wurden insgesamt {Anzahl_Karten} Anforderungskarten der Teilnehmenden in einer Excel Tabelle erfasst.
""")).format(Anzahl_Karten)
我想在文本中包含变量'Anzahl_Karten'。我理解我需要使用display,Markdown来实现这一点。
但是我收到了这个错误:
AttributeError: 'NoneType' object has no attribute 'format'
而且我的输出看起来像这样:
Lesen der Daten
Im Anforderungsworkshop wurden insgesamt {Anzahl_Karten} Anforderungskarten der Teilnehmenden in einer Excel Tabelle erfasst。
谢谢任何建议。
Sebastian
英文:
I am aksing myself how I can use display Markdown in a qmd file corretly. I have this code:
```{python}
#| echo: true
# Pandas laden
import pandas as pd
# csv Datei über read_csv laden
file = "Priorisierung_der_Anforderungen.csv"
df = pd.read_csv(file)
Anzahl_Karten = str(len(df))
from IPython.display import display, Markdown
display(Markdown("""
# Lesen der Daten
Im Anforderungsworkshop wurden insgesamt {Anzahl_Karten} Anforderungskarten der Teilnehmenden in einer Excel Tabelle erfasst.
""")).format(Anzahl_Karten)
```
I want to include the variable 'Anzhal_Karten' in the text. I understand that I need to use display, Markdown for this.
But I receive thids error:
AttributeError: 'NoneType' object has no attribute 'format'
And my output looks like this:
Lesen der Daten
Im Anforderungsworkshop wurden insgesamt {Anzahl_Karten} Anforderungskarten der Teilnehmenden in einer Excel Tabelle erfasst.
Thank you for any tips.
Sebastian
答案1
得分: 1
您收到错误消息 AttributeError: 'NoneType' object has no attribute 'format'
,因为您在display
上使用了字符串 format
方法。而如果没有提供 display_id
(默认情况下),display
会返回 None
。然而,NoneType 没有 format
方法或属性,因此出现错误。
因此,您需要在Markdown
函数内部格式化字符串。我建议使用f-string(在Python 3.6中引入,可以参考PEP 498)。
#| echo: true
# 导入 Pandas
import pandas as pd
# 通过 read_csv 加载 CSV 文件
file = "Priorisierung_der_Anforderungen.csv"
df = pd.read_csv(file)
Anzahl_Karten = str(len(df))
from IPython.display import display, Markdown
display(Markdown(f"""
# 读取数据
在需求研讨会中,共收集了{Anzahl_Karten}个参与者的需求卡片,并记录在一个Excel表中。
"""))
<details>
<summary>英文:</summary>
You are receiving the error `AttributeError: 'NoneType' object has no attribute 'format'` becuase you are using the string [`format`](https://docs.python.org/3/library/stdtypes.html#str.format) method on [`display`](https://ipython.readthedocs.io/en/stable/api/generated/IPython.display.html#IPython.display.display). And `display` returns `None` if no `display_id` is given (default). But *NoneType* has no `format` method or attribute. Hence the error.
So you need to format the string inside the `Markdown` function. And I would suggest using f-string (introduced in *python 3.6*, read the [PEP 498](https://peps.python.org/pep-0498/))
~~~
---
title: Display Markdown
format: html
jupyter: python3
---
```{python}
#| echo: true
# Pandas laden
import pandas as pd
# csv Datei über read_csv laden
file = "Priorisierung_der_Anforderungen.csv"
df = pd.read_csv(file)
Anzahl_Karten = str(len(df))
from IPython.display import display, Markdown
display(Markdown(f"""
# Lesen der Daten
Im Anforderungsworkshop wurden insgesamt {Anzahl_Karten} Anforderungskarten der Teilnehmenden in einer Excel Tabelle erfasst.
"""))
[![f-string in Markdown][1]][1]
<hr>
[1]: https://i.stack.imgur.com/2vN5K.png
</details>
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论