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

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

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

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

データマイニング

データマイニングは、購買履歴やクレジットカードの利用履歴、電話の通話履歴など企業にある大量のデータを解析して、その中に隠れたパターンやルールを探し出す技術です。DMと略されることもあります。

API

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

Q&A

解決済

1回答

2442閲覧

e-stat APIを用いてPythonでデータを扱いたい

unser

総合スコア58

Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

データマイニング

データマイニングは、購買履歴やクレジットカードの利用履歴、電話の通話履歴など企業にある大量のデータを解析して、その中に隠れたパターンやルールを探し出す技術です。DMと略されることもあります。

API

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

0グッド

0クリップ

投稿2021/06/30 11:21

編集2021/06/30 11:47

e-Stat 政府統計の総合窓口のこちらのサイトにある,
表番号1-1-1の燃料受払表の業種別表のJupyter Notebookにデータを取り込みたい.

https://www.e-stat.go.jp/stat-search/files?page=1&layout=datalist&toukei=00551005&bunya_l=09&tstat=000001042017&cycle=8&tclass1=000001152946&file_type=0&tclass2val=0

python

1# 例 2import pandas as pd 3 4URL="http(s)://api.e-stat.go.jp/rest/<バージョ>/app/getSimpleStatsList?<パラメータ群>" 5df = pd.read_csv(url)

しかし,こちらのexcelのURLをどのように取得したら良いかわからず,どのようにパラメータ群やバージョンを確認すれば良いか教えていただけると幸いです.

おそらく,こちらのページが参考になると思います
(https://www.e-stat.go.jp/api/api-info/e-stat-manual3-0#api_2)

よろしくお願いいたします.

ーーーーーーーー追記

python

1""" 2パラメータ群 3""" 4para="appId=106********/statsCode=00551005" 5 6 7url ="https://api.e-stat.go.jp/rest/{}/app/getSimpleStatsData?{}".format("3.0",para) 8df = pd.read_csv(url) 9df.head()

としたところ,

RESULT
STATUS100
ERROR_MSG認証に失敗しました。アプリケーションIDを確認して下さい。
DATE2021-06-30T**::.**+09:00

となりました(アプリケーションIDは間違ってないと思いますが...)

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

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

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

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

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

guest

回答1

0

ベストアンサー

こちらのページ
https://www.e-stat.go.jp/api/api-info/api-data

APIで提供する統計データは、以下のリンク先から確認することが可能です。表示されている統計一覧が現在APIで提供している統計データになります。

とありますので、リンク先のページで絞り込み条件を「データセット」にした上で「エネルギー消費統計調査」をキーワードに検索すると、APIを通じて利用できるデータセットは2016年度調査のものしか出てきません。

https://www.e-stat.go.jp/stat-search/database?page=1&query=%E3%82%A8%E3%83%8D%E3%83%AB%E3%82%AE%E3%83%BC%E6%B6%88%E8%B2%BB%E7%B5%B1%E8%A8%88%E8%AA%BF%E6%9F%BB&layout=dataset&metadata=1&data=1

2016年度調査のものでよければそのページで取得したいデータセットの欄の右端にある「API」という表示のボタンをクリックすると、取得のためのリクエストURLが表示されます。

例えば一番上の「A 固有単位表・B 熱量単位表1燃料・電力・蒸気受払表(1)燃料受払_業種別表」をCSVで取得するためのリクエストURLは

http://api.e-stat.go.jp/rest/3.0/app/getSimpleStatsData?appId=&lang=J&statsDataId=0003239680&metaGetFlg=Y&cntGetFlg=N&explanationGetFlg=Y&annotationGetFlg=Y&sectionHeaderFlg=1&replaceSpChars=0

と表示されますので、これを使って

python

1df = pd.read_csv('http://api.e-stat.go.jp/rest/3.0/app/getSimpleStatsData?appId=@@@@@@@@@@@@@@@@@@&lang=J&statsDataId=0003239680&metaGetFlg=Y&cntGetFlg=N&explanationGetFlg=Y&annotationGetFlg=Y&sectionHeaderFlg=2&replaceSpChars=0')

とすることができます(sectionHeaderFlgの値を2に変更しないとParserErrorエラーになりました)。
統計データ取得時に使うことのできるパラメータの説明は
https://www.e-stat.go.jp/api/api-info/e-stat-manual3-0#api_3_4
のようですね。

最新の公開分(2019年度調査分)が必要であれば、たとえば

python

1df = pd.read_excel('https://www.e-stat.go.jp/stat-search/file-download?statInfId=000032076074&fileKind=0')

とすればExcelファイルから直接読み込めないこともないですが、表示してみればわかるように人間が見るためにレイアウトされたものがそのまま読み込まれますので、データ処理のためにはそのままでは使えないでしょう。

たとえば

python

1df = pd.read_excel('https://www.e-stat.go.jp/stat-search/file-download?statInfId=000032076074&fileKind=0', header=None, skiprows=8, skipfooter=3)

みたいにして数字を含む行だけを切り出すことも可能ではありますが…。

投稿2021/07/02 14:46

etherbeg

総合スコア1195

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問