2020年5月30日土曜日

ipynbファイルをhtmlファイルに変換してブログに張り付ける

講義で使える統計素材」シリーズで使用しているipynbファイルをhtmlファイルに変換するPythonのプログラムです.単にhtmlに変換するだけならjupyter nbconvertを使えばいいだけだけど,文字コードや余計なヘッダを削除して自分のブログのフォーマットに合わせるための少しだけ工夫したのでメモ代わりに残しておきます.

import sys
import subprocess
import re
import html

cmd = ['jupyter', 'nbconvert', '--stdout', '--to', 'html']

#subprocess.run(cmd + sys.argv[1:])
src = subprocess.check_output(cmd + sys.argv[1:])
src = str(src, encoding='utf-8')
src = src.replace('')[-1].split('')[0]
src = html.unescape(src)
#print(src)
ofname = sys.argv[1].replace('.ipynb', '.html')
with open(ofname, mode='w', encoding='utf-8') as f:
    f.write(src)

Bloggerのテンプレートに追加した画像を真ん中に配置するためのCSSのコード.

<style>
div.output_png{
  text-align: center;
  }
</style>