質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Q&A

1回答

2431閲覧

jsonからの要素抽出に関しまして

WatabeTakahiro

総合スコア0

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

0グッド

0クリップ

投稿2021/08/22 00:18

初めて質問させていただいます。
何卒よろしくお願いします。
[作業概要]
e-statのAPIを活用した可視化コンテンツを作成中です。
[課題の作業内容]
APIで取得したjsonデータ取得おける
特定要素を含んだキーの要素をそれぞれ取り出せないか
試みているのですが、方法に見当がつかない状態です。
[特定要素について]
取得したjsonファイルの内容を
results['GET_STATS_DATA']['STATISTICAL_DATA']['DATA_INF']['VALUE'][-1]['$']
'$'の要素を抽出を目指していまして、
'VALUE'キー内の要素に'それぞれ@cat01':'F1101', '@cat01':'F1102',があり、
それぞれの要素が含まれる、それぞれ最後[-1]の'$'を取得できないものでしょうか…
以下取得したjson内容です。
{'GET_STATS_DATA': {'PARAMETER': {'ANNOTATION_GET_FLG': 'Y',
'CNT_GET_FLG': 'N',
'DATA_FORMAT': 'J',
'EXPLANATION_GET_FLG': 'Y',
'LANG': 'J',
'METAGET_FLG': 'Y',
'NARROWING_COND': {'CODE_AREA_SELECT': 36201,
'CODE_CAT01_SELECT': 'F1101,F1102'},
'REPLACE_SP_CHARS': 0,
'SECTION_HEADER_FLG': 1,
'START_POSITION': 1,
'STATS_DATA_ID': '0000020206'},
'RESULT': {'DATE': '2021-08-22T07:51:40.127+09:00',
'ERROR_MSG': '正常に終了しました。',
'STATUS': 0},
'STATISTICAL_DATA': {'CLASS_INF': {'CLASS_OBJ': [{'@id': 'tab',
'@name': '観測値',
'CLASS': {'@code': '00001',
'@level': '1',
'@name': '観測値'}},
{'@id': 'cat01',
'@name': 'F\u3000'
'労働',
'CLASS': [{'@code': 'F1101',
'@level': '1',
'@name': 'F1101_労働力人口',
'@unit': '人'},
{'@code': 'F1102',
'@level': '1',
'@name': 'F1102_就業者数',
'@unit': '人'}]},
{'@id': 'area',
'@name': '地域',
'CLASS': {'@code': '36201',
'@level': '2',
'@name': '徳島県 '
'徳島市',
'@parentCode': '36000'}},
{'@id': 'time',
'@name': '調査年',
'CLASS': [{'@code': '1980100000',
'@level': '1',
'@name': '1980年度'},
{'@code': '1985100000',
'@level': '1',
'@name': '1985年度'},
{'@code': '1990100000',
'@level': '1',
'@name': '1990年度'},
{'@code': '1995100000',
'@level': '1',
'@name': '1995年度'},
{'@code': '2000100000',
'@level': '1',
'@name': '2000年度'},
{'@code': '2005100000',
'@level': '1',
'@name': '2005年度'},
{'@code': '2010100000',
'@level': '1',
'@name': '2010年度'},
{'@code': '2015100000',
'@level': '1',
'@name': '2015年度'}]}]},
'DATA_INF': {'NOTE': [{'$': '調査又は集計していないもの',
'@char': '***'},
{'$': 'データが得られないもの',
'@char': '-'},
{'$': '数値が秘匿されているもの',
'@char': 'X'}],
'VALUE': [{'$': '131012',
'@area': '36201',
'@cat01': 'F1101',
'@tab': '00001',
'@time': '2000100000',
'@unit': '人'},
{'$': '130209',
'@area': '36201',
'@cat01': 'F1101',
'@tab': '00001',
'@time': '2005100000',
'@unit': '人'},
{'$': '123807',
'@area': '36201',
'@cat01': 'F1101',
'@tab': '00001',
'@time': '2010100000',
'@unit': '人'},
{'$': '122326',
'@area': '36201',
'@cat01': 'F1101',
'@tab': '00001',
'@time': '2015100000',
'@unit': '人'},

{'$': '115734', '@area': '36201', '@cat01': 'F1102', '@tab': '00001', '@time': '2010100000', '@unit': '人'}, {'$': '116767', '@area': '36201', '@cat01': 'F1102', '@tab': '00001', '@time': '2015100000', '@unit': '人'}]},

✨初学者です、基本的な事が分かっていないかも知れないのですが、
助けて下さい、よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2021/08/22 00:53

https://teratail.com/help/question-tips ←まずこれを読んでもらって、上の質問内容がそれに照らして適切かを考えてもらって、編集するということはできますか?
ppaul

2021/08/22 04:58

求めたいもの(アウトプット)がわかりません。 ['122326', '116767']が出れば良いのですか?
WatabeTakahiro

2021/08/22 10:49

コメントありがとうざいます。質問が至らず、失礼しました。この件、jsonをPandasでデータフレーム変換し、groupbyでグループ分けし要素を抽出できそうです。お手間をお掛けしました。
guest

回答1

0

JSONのままだと扱えないので、json.loads(JSON文字列)でPythonのデータ(この場合は辞書か?)に変換してから、辞書としてアクセスします。

投稿2021/08/22 01:40

otn

総合スコア85901

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

WatabeTakahiro

2021/08/22 10:49

ご回答ありがとうございました、解決しそうです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問