かべぎわブログ

技術的なことについてかけたらいいな…

S3上のテキストファイルをLambda(Python)で取得する

今回はS3の中に入っているテキストファイルの内容をLambda(Python)で取得してみたいと思います。

S3上には内閣府が公表している国民の休日のcsvファイルの文字コードをutf-8に変換したものを格納しています。

↓これをsjijsからutf-8に変換
http://www8.cao.go.jp/chosei/shukujitsu/syukujitsu.csv

コード

python

以下のような結果が返ってくるはずです。

['国民の祝日月日,国民の祝日名称', '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,天皇誕生日']

解説

s3_get_objectでバケットとファイル名を指定してskyujitsu.csvを取得します。
その結果はresponseのBody部に格納されますのでそれをreadしてデコード、改行コードでsplitしています。

退屈なことはPythonにやらせよう ―ノンプログラマーにもできる自動化処理プログラミング

退屈なことはPythonにやらせよう ―ノンプログラマーにもできる自動化処理プログラミング