用途
新着
履歴
分類

streamlit JSONの読み込みと表示

streamlit JSONの読み込みと表示

JSONファイルを参照して、表組(データフレーム)、グラフを描画するサンプルです。

読み込むjson

{
  "school": "ABC University",
  "students": [
    {"id": 1, "name": "Alice", "course": {"major": "Physics", "credits": 120}},
    {"id": 2, "name": "Bob", "course": {"major": "Chemistry", "credits": 118}}
  ]
}

このjsonを参照して、エクセルのような表組にしたり、棒グラフを作ります。

ポイントは、配列が入れ子(ネスト)になっているので、加工します。

実行結果は以下です。

コードは以下になります。

import streamlit as st
import pandas as pd
import json

json_file_path = 'data/demo/json/test_results.json' 

try:
    with open(json_file_path, 'r', encoding='utf-8') as f:
        data = json.load(f)

    st.subheader('ファイルから読み込んだJSONデータ全体 (確認用)')
    st.json(data)

    st.subheader('jsoonリストを展開したDataFrame')
    
    # data['students'] を渡す
    df = pd.json_normalize(data['students'])
    
    # DataFrameの表示
    st.dataframe(df)

    # (オプション) 列名を 'course.major' から 'major' に変更したい場合
    st.subheader("列名を整形したDataFrame (オプション)")
    # 'course.major' -> 'major' のように変更
    df.columns = [col.split('.')[-1] for col in df.columns]
    st.dataframe(df)

    st.bar_chart(data=df, x='name', y='credits')

except FileNotFoundError:
    st.error(f"エラー: ファイルが見つかりません: {json_file_path}")
except KeyError as e:
    st.error(f"JSONデータ内に期待したキー ({e}) が見つかりませんでした。")
except Exception as e:
    st.error(f"ファイルの処理中にエラーが発生しました: {e}")
公開 2025-11-07 17:20:38
更新 2025-11-07 17:35:39
このページの二次元コード
streamlit JSONの読み込みと表示

同じカテゴリーのサンプル

人気のサンプル

search -  category -  about
© 2025 kipure
Top