動作検証バージョン:Windows 10 Pro(64-bit)+ Python 3.8.3(32-bit)+ Markdown 3.2.2
このサイト『インストラクターのネタ帳』の原稿は、基本的にテキストエディタで書いています。表については、Excelファイルで作成しておき、数式でタグを入れてHTMLにすることもあります。
最初から表にすることが決まっている場合は、この方式でイイのですが、ある程度テキストエディタで書いてみてから、表にするほうが良さそうに感じることがあります。
そういった場合、途中からExcelにするのは、面倒だったりするのです。
[スポンサードリンク]
で、Markdownで記述して、PythonでHTMLに変換するほうが簡単かもしれないと感じ、調べてみると予想以上に簡単でした。
markdownモジュールのインストール
使ったのはmarkdownモジュールです。
markdownモジュールのインストールは、KDP(Kindle Direct Publishng)による拙著『VBAユーザーのためのPython超入門』の、chapter 10でも解説しているとおり「pip install markdown」で可能です。
markdownモジュールでTableをHTMLに
インストールができたら、markdown.Markdownコンストラクタの引数extensionsに['tables']を指定して、Markdownオブジェクトを変数mdに格納します。
>>> import markdown
>>> md=markdown.Markdown(extensions=['tables'])
つづいて三重引用符・トリプルクォートを使って、変数tblに、MarkdownによるTableを格納しておいて、
>>> tbl = '''
|見出しA |見出しB |見出しC
|---------:|:--------:|:--------
|aaaa |bbbb |cccc
'''
Markdown.convertメソッドの引数に、tblを指定してprintすると、
>>> print(md.convert(tbl))
<table>
<thead>
<tr>
<th align="right">見出しA</th>
<th align="center">見出しB</th>
<th align="left">見出しC</th>
</tr>
</thead>
<tbody>
<tr>
<td align="right">aaaa</td>
<td align="center">bbbb</td>
<td align="left">cccc</td>
</tr>
</tbody>
</table>
以上のようなHTMLが出力されます。
[スポンサードリンク]