使用Python将Markdown表转换为html表

Tin*_*Luu 5 html python markdown

我有一个markdown表语法字符串,说:

table_md=\
"| Tables        | Are           | Cool  |\n\
| ------------- |-------------| -----|\n\
| col 3 is      | right-aligned | $1600 |\n\
| col 2 is      | centered      |   $12 |\n\
| zebra stripes | are neat      |    $1 |\n"
Run Code Online (Sandbox Code Playgroud)

我想将其转换为html语法表字符串:

<table>
<thead>
<tr>
<th>Tables</th>
<th>Are</th>
<th>Cool</th>
</tr>
</thead>
<tbody>
<tr>
<td>col 3 is</td>
<td>right-aligned</td>
<td>$1600</td>
</tr>
<tr>
<td>col 2 is</td>
<td>centered</td>
<td>$12</td>
</tr>
<tr>
<td>zebra stripes</td>
<td>are neat</td>
<td>$1</td>
</tr>
</tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

首先搜索stackoverflow,我尝试使用这个:

import markdown
table_html=markdown.markdown(table_md)
Run Code Online (Sandbox Code Playgroud)

但结果是一个html段落:

'<p>| Tables...    |</p>'
Run Code Online (Sandbox Code Playgroud)

通过讨论这个问题,我来到降价扩展,并尝试将扩展添加到上面的命令:

table_html=markdown.markdown(table_md, extensions=[MyExtension(), \
'markdown.extensions.tables'])
Run Code Online (Sandbox Code Playgroud)

然后它显示错误说 "NameError: name 'MyExtension' is not defined"

stackoverflow中没有相同的情况.

请帮我看看如何处理上面的MyExtension.谢谢!

be_*_*ood 6

首先,您可以输入如下内容:

table_md="| Tables        | Are           | Cool  |\n\
| ------------- |-------------| -----|\n\
| col 3 is      | right-aligned | $1600 |\n\
| col 2 is      | centered      |   $12 |\n\
| zebra stripes | are neat      |    $1 |\n"
Run Code Online (Sandbox Code Playgroud)

使用扩展 markdown.extensions.tables

table_html=markdown.markdown(table_md, extensions=['markdown.extensions.tables'])
Run Code Online (Sandbox Code Playgroud)

输出是:

>>> print table_html
<table>
<thead>
<tr>
<th>Tables</th>
<th>Are</th>
<th>Cool</th>
</tr>
</thead>
<tbody>
<tr>
<td>col 3 is</td>
<td>right-aligned</td>
<td>$1600</td>
</tr>
<tr>
<td>col 2 is</td>
<td>centered</td>
<td>$12</td>
</tr>
<tr>
<td>zebra stripes</td>
<td>are neat</td>
<td>$1</td>
</tr>
</tbody>
</table>
Run Code Online (Sandbox Code Playgroud)