スクリーンショット_2020-01-02_14

データ分析奮闘記(Day11)[Tips]その1〜e-StatからAPIでデータを取得してみる〜

こんにちは!こちょすです。
あけましておめでとうございます!本年もよろしくお願いします。

今年はデータ分析を一歩ずつ着実に進めつつ、AWSなどのサーバ側の知識も深めつつ、エンジニアとしての価値を高めて行きたいと思います!あと筋トレ頑張ります。

記念すべき2020年1発目の投稿は、kaggleについてではありません!今年はデータ分析に関連する、Tips的なものも習得して、効率よく分析を進めるための方法を学んで行きたいので、学んだ内容を発信していきたいと思っています!

というわけで今日ご紹介するのは、e-Statからのデータ取得についてです。

e-Statとは?

データ分析に欠かせないのはデータですが、e-Statは日本各地でこれまでに行われてきた調査データが集まっている場所です。

もう少し辞書的な意味でいうと、

日本の政府統計に関する情報のワンストップサービスを実現することを目指した政府統計ポータルサイトです。これまで各府省等が独自に運用するWebサイトに散在していた統計関係情報を本サイトに集約、社会の情報基盤たる統計結果を誰でも利用しやすいかたちで提供することを目指し、各府省等が登録した統計表ファイル、統計データ、公表予定、新着情報、調査票項目情報、統計分類等の各種統計関係情報を提供していきます。

だそうです!上の説明は、s-StatのHPから引用したので、ぜひそちらもご参照ください!

e-Statで得られるデータ

データがたくさん集まっていることはわかったのですが、ではどんなデータがあるの?が次に気になることかと思います。e-Statでは以下のようなデータが手に入ります。

・日本の人口(性別・年齢・地域・従業地・家族構成・産業・昼夜間毎etc)
・事業所や企業の経済活動(所在地・従業者数・業種・業態・資本金・売上・費用・EC化状況毎etc)
・どれぐらいの人がどんな風に働いているか、賃金状況
・どんな世帯がどんな家計状況で何にどれぐらいお金を使っているのか
・スポーツや趣味や学習やボランティアの状況
・公民館などでの社会教育はどこでどれぐらい行われているのか
・飲食・販売・卸売りなど商業の状況(売り場面積・売上・仕入れなど)

かなり幅広いデータが手に入ることがわかると思います!2020/1/1現在だと、1,561,428 件のデータセットが存在しているようなので、きっと欲しいデータが見つかると思います!

データの取得方法は?

e-Statでは色々なデータが集まっていることはわかったところで、どうやって取得するかが次に気になるところです。

e-Statでは大きくわけて2つの方法でデータが公開されています。
1、ファイル
 ・Excel
 ・CSV
 ・PDF
2、データベース
 ・API

●ファイルの特徴
ほぼ全ての統計結果がファイルで取得可能ですが、一方で、統計データを確認するにはファイルをダウンロードする必要があります。
●データベースの特徴
項目の抽出、行・列などの組換え、グラフの作成等がサイト上で行え、抽出した結果をダウンロードできます。また、データ内で使用されている項目の検索が容易となっているほか、API機能で利用することができます。

ファイルでのダウンロードはボタンをぽちぽちするだけなので、簡単にできると思いますが、APIの方は馴染みのない人もいると思うので、その使い方を説明しようと思います!APIが使えるようになると、欲しいデータだけを取得したり、行列が自由自在に変えられるので、分析しやすい形でダウンロードができるので、ぜひ一緒に使えるようになりましょう!


APIとは?

さっそく!、、、と思ったのですが、そもそもAPIって何?とかAPI聞いたことあるけどよくわからないという人もいると思うので、そこから説明します!

スクリーンショット 2020-01-02 14.27.56

色々イメージを探して見たのですが、これがわかりやすいかなと思い、引用させていただきました!(英語ですがびびらなくても大丈夫です!)

普通はユーザの私たちはWebサーバにリクエスト(GET)を投げると、HTMLファイルを返してくれます。するといい感じにレンダリング(整形)されてページが表示されるわけですが、APIの場合にはRawデータが返されます。Rawというのは「生の」という意味で、つまりデータだけが返されます!データの形式は色々で、jsonだったり、csvだったりxmlだったりなので、使いたいAPIがどんな形式を返すのかは確認するようにしましょう!

e-StatでAPIを使ってみる!

APIとは?もわかったところで、e-Statでデータを取得してみましょう!

APIを利用するには大きく4STEPが必要です。えー面倒臭い、、、と思ったかもしれませんが、一度やれば、2回目以降は不要な手順も多いので、頑張りましょう!

1.ユーザ登録
2.アプリケーションIDの取得
3.API仕様の確認・アプリケーションの開発
4.アプリケーションの公開

参考リンク:

では1歩ずつ行きましょう!

1.ユーザ登録

ユーザ登録は他のサービスと全く同じなので割愛します!
以下のURLから登録しましょう!

2.アプリケーションIDの取得

API機能を利用する際に、アプリケーションIDを送信します!(上記で登録したユーザがこのAPIを使っていることの証明みたいなものですね)
e-Statのマイページにログインし、API機能(アプリケーションID発行)から、開発するアプリケーションごとにアプリケーションIDを取得してみましょう!

ログインすると右上にある、「マイページ」をクリックしましょう。
すると、ダッシュボードに飛びますので、その上のほうにある「API機能(アプリケーションID発行)」をクリック!
すると登録画面に移るので、ここで「名称」と「URL」を登録しましょう。
今回は個人利用用に登録するので、以下としました。

名称:kochos個人利用用
URL:https://twitter.com/kochos5
※自分のTwitterのアカウントを登録してみました。

この状態で、「発行」ボタンをクリックすると、「appId」が表示されます!これでこのStepは完了です!

3.API仕様の確認・アプリケーションの開発

では早速、APIでデータを取得してみましょう!

今回取得するのは、

フィットネスクラブの売上高、利用者数、会員数、事業所数、従業者数及び指導員数 月次・実数

です!ジムでの筋トレが趣味のこちょす、フィットネスの会員数の推移が知りたいのです!(変人)

上記のURLをクリックすると、少しスクロースした右の方に「API」というボタンがありますので、これをクリックします。すると、以下のようなURLが取得できます。

http://api.e-stat.go.jp/rest/2.1/app/getStatsData?appId=&lang=J&statsDataId=0003353758&metaGetFlg=Y&cntGetFlg=N&sectionHeaderFlg=1

上のURLに、「appId=」というのがあるのを見てください。この=の後ろに、先ほど取得したappIdを入力します!その完成したURLを、chromeやIEのURLに打ち込んでみてください!

すると以下のような表示がされると思います!

スクリーンショット 2020-01-03 15.56.00

おめでとうございます!これでAPIを利用したデータ取得ができました!このデータはXML形式でしたね!

4.アプリケーションの公開

あとは、自分のプログラムの中でこのAPIを呼び出して、返ってきたデータを変数に入れて煮るなり焼くなりしてみてくださいー!


いかがでしたでしょうか?1〜4のStepがありますが、appIdさえ取得してしまえば、あとは他のAPIでもそのappIdを入力するだけですので簡単です!

皆さんも色々なAPIを使ってみてくださいね!

ではまた!

Twitterでも配信しています!日々の学びや、モチベーションが上がるような記事を共有・発信できればと思うので、応援お願いします!


この記事が気に入ったらサポートをしてみませんか?