はしくれエンジニアもどきのメモ

情報・Web系技術の勉強メモ・備忘録です。

内閣府の「国民の祝日」CSVから日本の祝日情報を取得(Python)

内閣府の「国民の祝日」CSVから日本の祝日情報を取得(Python)

2月くらいにいろいろネタにされていたが, 改善されたようなので,内閣府HPの「国民の祝日」CSVから祝日情報を取得してみるメモ.

国民の祝日について - 内閣府


環境

  • Windows10

    • Python 3.5.3

      • pandas 0.19.2

流れとコード

流れは簡単.

  1. CSVをDL(サーバーに負担かけないため)

  2. CSVをpandas.read_table()で読み込み

  3. 祝日のリストを取得

pandas を使うまでもないかもしれませんが,列(カラム)方向のデータの取得が簡単なので,今回は使用.

内閣府の「国民の祝日」csvから日本の祝日情報取得

  • updated オプションでcsvファイル更新するのか設定.

  • csvのURLやカラム名が変更されても対応できるよう引数で制御

  • encodingは SHIFT-JISsp932でないと読み込めないので注意

出力コード


> get_holidays_list()
['2016-01-01',
 '2016-01-11',
 '2016-02-11',
 '2016-03-20',
 '2016-04-29',
 '2016-05-03',
 '2016-05-04',
 '2016-05-05',
 '2016-07-18',
 '2016-08-11',
 '2016-09-19',
 '2016-09-22',
 '2016-10-10',
 '2016-11-03',
 '2016-11-23',
 '2016-12-23',
 '2017-01-01',
 '2017-01-09',
 '2017-02-11',
 '2017-03-20',
 '2017-04-29',
 '2017-05-03',
 '2017-05-04',
 '2017-05-05',
 '2017-07-17',
 '2017-08-11',
 '2017-09-18',
 '2017-09-23',
 '2017-10-09',
 '2017-11-03',
 '2017-11-23',
 '2017-12-23',
 '2018-01-01',
 '2018-01-08',
 '2018-02-11',
 '2018-03-21',
 '2018-04-29',
 '2018-05-03',
 '2018-05-04',
 '2018-05-05',
 '2018-07-16',
 '2018-08-11',
 '2018-09-17',
 '2018-09-23',
 '2018-10-08',
 '2018-11-03',
 '2018-11-23',
 '2018-12-23']

メリット・デメリット

メリット
  • APIキーなしで使用可.Google Calendar APIなどのAPIを使用していないので

  • CSVを1度DLすればローカルで使用可

デメリット
  • 去年,今年,来年の3年分の祝日情報しか取得できない.この期間外の祝日を取得するには他の方法で取得するしかない.

  • CSVファイルをDLするのに一時的にオンラインにしなければならない.(これはGoogle Calendar APIとおそらく同じ)