如何在qmd文件中使用Markdown进行显示?

huangapple go评论71阅读模式
英文:

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表中。
"""))

如何在qmd文件中使用Markdown进行显示?



<details>
<summary>英文:</summary>

You are receiving the error `AttributeError: &#39;NoneType&#39; object has no attribute &#39;format&#39;` 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 &#252;ber read_csv laden
file = &quot;Priorisierung_der_Anforderungen.csv&quot;
df = pd.read_csv(file)
Anzahl_Karten = str(len(df))

from IPython.display import display, Markdown

display(Markdown(f&quot;&quot;&quot;
# Lesen der Daten

Im Anforderungsworkshop wurden insgesamt {Anzahl_Karten} Anforderungskarten der Teilnehmenden in einer Excel Tabelle erfasst.
&quot;&quot;&quot;))



[![f-string in Markdown][1]][1]

&lt;hr&gt;


  [1]: https://i.stack.imgur.com/2vN5K.png

</details>



huangapple
  • 本文由 发表于 2023年2月24日 17:25:34
  • 转载请务必保留本文链接:https://go.coder-hub.com/75554763.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定