以前の記事でstreamlitのst.dataframeを使って、テーブル(表)を表示させたいときに、ヘッダーが日本語だとヘッダーが切れてしまう対策でstreamlit-aggridを使うと切れずに表示できると紹介しました。
この記事を見ていただいた方から最新のstreamlit(ver 1.13.0)だと、ヘッダーが日本語でも切れずに表示されるようになったと貴重なコメントをいただきました。
そこで実際にバージョンアップして試してみたところ日本語のヘッダーでもきれいに表示されることが確認できました。以下に試してみたことを載せているので、同じような事象で悩んでした方は参考にしてください。
サンプルコード
import streamlit as st
import pandas as pd
df = pd.DataFrame({'国語テスト': [55, 96, 76, 82,67],
'算数テスト': [44, 77, 54, 67, 100],
'英語テスト': [67, 54, 76, 91, 68]})
st.subheader('テスト結果')
st.dataframe(df)
main.pyというファイルに上記のコードを書いてターミナルよりstreamlitを実行します。
streamlit run main.py
バージョンアップ前の表示
バージョンアップする前は以下のようにヘッダーが切れて表示され、少しかっこ悪かったです。
バージョンアップ後の表示
Vscodeなどのターミナルでpipコマンドを実行して最新のバージョン(1.13.0)にアップグレードします。
pip install --upgrade streamlit
アップグレードが完了しているかどうかはpip listコマンドでstreamlit 1.13.0になっていればOKです。
バージョンアップしたら先ほどと同じようにstreamlitをターミナルから実行します。
streamlit run main.py
バージョンアップ後はヘッダーの文字列が切れずに表示されました。
aggridはテーマを適用できたり、テーブルの値を書き換えたり高機能ですがただ表示するだけで簡単に書きたい場合はst.dataframeが重宝します。今までヘッダーが切れてしまい表示上、みっともなかったのですがこれなら使えそうです。
streamlitは1か月に1~2回のペースで頻繁にこういった小規模な改善をしてくれています。
※ver1.13.0は2022/9/22にリリースされていました。
上記の改善に以外にも新機能や小改善が盛り込まれているので定期的にアップデート情報を見たほうがいいなと思いました。
コメント