Doc::JSONファイルをExcelで読む
#2025/5/21
Cosenseはカード形式でノートをどんどん作成し,相互リンクできる.これは非常に便利だが,notionなど他のノートツールとの互換性が低いのが難点.
書式がmarkdownではなく,他のノートアプリへの移行が面倒
※現在もnotion化するのに苦心している……
ノートが多数になった際には閲覧性が低くなる
一括PDF化ができない.ノート一つずつPDFプリントするのがとても面倒
※実験テキストの印刷版を作るのに手間が……
ただ,プロジェクトはJSON形式で保存できるのがありがたい.
→ が,これがなかなか普通に読みこめない.
→ そこで,JSONファイルからノートタイトルと内容だけを,Excelに読み込めればなにかと便利かと思い立った.
※募集※ CosenseのJSONファイル → 一括PDF化してくれるツール,だれか作っておくれ~
◎何が良いか
タイトル一覧をExcelのリスト形式にできる:これは結構便利.
内容が1つのセルに入るので,Ctrl+Cで一発コピーできる
※ただし改行情報が全削除される:これは困る……困る……
→ 区切りを「セミコロン」にすれば,後から一括変換可能
※区切り文字は対象のデータによって,区切りやすいものを選ぶべし.プログラムソースコードがある場合はセミコロンはやめた方がいいだろうね
◎とかいいつつとりま,手順.
1. Excelシートを新規作成.
2. データ >データの取得 >ファイルから >JSONから
https://gyazo.com/bf511477a2a8b2971ff4c0a77b136afb
3. JSONファイルを選んで >インポート
→ Power Query エディター が開く
4. ネストしているコンテンツは「list」になるので,展開する
この例だとpagesを選択 >右クリック >ドリルダウン
https://gyazo.com/02e86da06889f78b8628c17991537be3
→ pagesの中身が"Record"としてズラッと並ぶ
https://gyazo.com/514f3061cb3d7567359de6e6e5789940
5. ここで「テーブルへの変換」 → 区切り記号のダイアログ >なにもせずOK
https://gyazo.com/ebaaccfe17683e8b39b5eee7c21de434
6. テーブルに変換されたので最上段のタイトル右端「展開」アイコン
(if need)リスト項目が多いと「さらに読み込む」を押す
(if need)必要なデータ項目を選び,
(if need)元の列プレフィクスの有無を指定し,
>OK
→ 選んだデータがずらりと並ぶ
7. さらにネストしている"List"項目を展開して値を抽出する
※例ではtitleとlines が表示されている
lines がList なので右の展開アイコン >「値を抽出する」
https://gyazo.com/ed9f51a13bd8cb307ca81c61f0e829b3
→ 区切り記号のダイアログが表示 >セミコロンを選択 >OK
※リストの内容によって選ぶ
https://gyazo.com/98116aececf682a004f8131909954738
→ lines の中身が表示:リストの中身を結合
https://gyazo.com/f547683ad4acae5eba93ccaa887fdc37
8. 「閉じて読み込む」ボタンで,Excelに読み込む
https://gyazo.com/71264209072d7f61c4f20ea28c9e25d3
9. ↓↓ こんな感じで表示されたら成功.
https://gyazo.com/f6981dd1d0bffa55c9239deda46d86d2
◎失敗例
クエリーエディタの作業途中でいろいろいじるとちゃんとエラーになることが割とある
← ちゃんと原因はわからないが……
対策:右ペイン「クエリと接続」で,作成したクエリをダブルクリック
→ クエリエディタが開く
→ エディタの右ペイン「クエリの設定」 >「適用したステップ」 >ソースを選び,作業をやり直す
それでもだめなら,クエリーを新しく作って,JSON読み込むところから最初からやり直す
◎活用
ここの例で言えば……
titleが一覧で見やすい
titleでソートできる
title でフィルタできる
linesが1セルなので一発コピーできる
→ セミコロンを改行に一括変換すれば,わりとちゃんとしたテキストになる
→ これをmarkdownに変換するなどすれば,使いまわしもやりやすい.
など.
◎注意
Listを値に変換するときに,区切り文字を正しく指定する必要あり.
「なし」だと,要素をなにもなしで結合してしまうので,扱いづらくなってしまう.
この例では";"にしたが,プログラムのソースコードが混在していると一括変換の際に大問題になりそう.
◎参照:
Excel の Power Query で JSON データをテーブルに起こす
以上.
#Document #Excel #JSON