以下のように表形式で管理している情報を、Microsoft Wordの縦書きフォーマットに変換する機会がありましたので、その備忘録です。
変換前
| 研究課題名 | 課題番号 | 直接経費 |
|---|
| 持続性と利活用性を考慮したデジタルアーカイブシステム構築手法の開発 | 21K18014 | 2600000 |
変換後

指定されたテンプレートの利用や、「数字 <-> 漢数字 の相互変換ライブラリ 「Kanjize」」を利用しています。
python-docxを用いたMicrosoft Wordファイルの作成#
まず、以下のようなMicrosoft Wordのテンプレートファイルを作成します。指定されたレイアウトを使用しつつ、値を変更したい部分に{<変数名>}を指定します。

そして、上記のテンプレートで使用した変数名に対応したjsonファイルなどを作成します。
そして、以下のようなpythonスクリプトを実行することにより、指定されたフォーマットに基づくMicrosoft Wordファイルを作成することができます。
数字 <-> 漢数字 の相互変換#
上記の入力用のjsonファイルを作成するにあたり、数字を漢数字に変換する必要がありました。
例:2600000 -> 二百六十万
この変換にあたっては、以下のライブラリを使用しました。
https://github.com/nagataaaas/Kanjize
以下のように実行することで、数字で管理していたデータを漢数字に変換することができます。
まとめ#
Microsoft Wordファイルを作成する際の参考になりましたら幸いです。