JSONファイルを読み込んで表形式で表示する - Excel
ExcelでJSONファイルを読み込んで表形式で表示する手順を紹介します。
概要
JSONのオブジェクト配列が記述されたファイルを表形式でわかりやすく表示したい場合があります。
この記事では、ExcelでJSONファイルを読み込んで表形式で表示する手順を紹介します。
準備:JSONデータファイル
読み込むJSONのデータファイルを準備します。今回は下記のJSONファイルを読み込みます。
[
{
"name": "ぺんぎんクッキー",
"price": 250,
"stock-tokyo": 24,
"stock-fukuoka": 12,
"stock-sapporo": 9
},
{
"name": "しろくまアイス",
"price": 320,
"stock-tokyo": 3,
"stock-fukuoka": 4,
"stock-sapporo": 6
},
{
"name": "かるがもサブレ",
"price": 180,
"stock-tokyo": 12,
"stock-fukuoka": 8,
"stock-sapporo": 10
}
]
手順
Excelを起動します。
上部のリボンの[データ]のタブをクリックします。下図の画面に切り替わります。
ツールリボンの[データの取得]ボタンをクリックし、ドロップダウンメニューの[ファイルから]をクリックし、サブメニューの[JSON から]の項目をクリックします。
ファイル選択ダイアログが表示されますので、読み込むJSONファイルを選択して読み込みます。
JSONファイルが読み込まれると、下図の Power Query エディターのウィンドウが表示されます。
ウィンドウ上部ツールリボンの左側の[テーブルへの変換]のボタンをクリックします。
下図の[テーブルへの変換]ダイアログが表示されます。設定はデフォルトのままとします。
([区切り記号を選択するか入力してください]を"なし"、[余分な列の処理方法]を"エラーとして表示"に選択します。)
設定後[OK]ボタンをクリックします。
テーブルに変換され、下図の画面が表示されます。
ウィンドウ中央部の[Column1]の右側のボタンをクリックします。
JSONで読み込まれた項目の一覧が表示されます。列として表示する項目にチェックを入れます。
今回はすべての項目にチェックを入れています。設定後[OK]ボタンをクリックします。
列が表示された状態になりました。
ツールリボンの左にある[閉じて読み込む]ボタンをクリックします。
Power Query エディターのウィンドウが閉じられ、Power Query エディターのウィンドウがでプレビュー表示されていた内容がExcelのシートに表示されます。
JSONファイルの内容を表形式にしてExcelで表示できました。
例:オブジェクトの値にリストがある場合
以下のJSONを読み込む場合の例です。dataの値に配列でリストが記述されています。
{
"data": [
{
"name": "ぺんぎんクッキー",
"price": 250,
"stock-tokyo": 24,
"stock-fukuoka": 12,
"stock-sapporo": 9
},
{
"name": "しろくまアイス",
"price": 320,
"stock-tokyo": 3,
"stock-fukuoka": 4,
"stock-sapporo": 6
},
{
"name": "かるがもサブレ",
"price": 180,
"stock-tokyo": 12,
"stock-fukuoka": 8,
"stock-sapporo": 10
}
],
"version": "1.0"
}
先ほどと同じ手順でJSONファイル読み込みます。
下図の画面が表示されます。JSONの一番上の構造が表示されており、dataキーとversionキーが表示されています。
dataキーの項目をクリックして選択すると、中央の枠の下部に、dataキーの値が表示されます。リストで3つのレコードがある旨が表示されます。
リストの項目を表示するには、dataの行の"List"の項目部分をクリックします。
リストの項目が表示された状態になります。この画面で、ツールリボンの[テーブルへの変換]のボタンをクリックします。
先の手順と同様にテーブルに変換します。[Column1]の右側のボタンをクリックします。
読み込む列を選択した状態が下図です。JSONのリストの内容が表示できています。
ツールリボンの[閉じて読み込む]ボタンをクリックすると、プレビュー表示されている内容をExcelのシートに読み込めます。
メモ
オブジェクトの値がさらに配列で記述されている場合に、
配列の値を列で表示する方法については
こちらの記事を参照してください。
著者
iPentecの企画・分析担当。口が悪いのでなるべく寡黙でありたいと思っている。が、ついついしゃべってしまい、毎回墓穴を掘っている。