Amazon S3上の複数のcsvファイルを一度に読み込む方法

aws.s3パッケージのインストール

まずプロジェクトのメニューから、「Rパッケージの管理」を選択します。

Rパッケージの管理ダイアログが表示されたら、aws.s3と入力してインストールをクリックします。

インストールが完了すると、「aws.s3のインストールに成功しました。」というメッセージが表示されます。

RスクリプトデータソースからCSVファイルをインポートする

続いたデータフレームの横にある+(プラス)ボタンをクリックして「Rスクリプト」を選択します。

Rスクリプトデータ・データフレームダイアログが表示されるので、ここにRスクリプトを記述していきます。

今回は、"<何らかの文字列>_sample.csv" のような名前の複数のCSVファイルをAWS S3バケットから1つのデータフレームとしてインポートするコードを利用します。

library(aws.s3)
library(purrr)
Sys.setenv("AWS_ACCESS_KEY_ID" = "YOUR_ACCESS_KEY_ID",
           "AWS_SECRET_ACCESS_KEY" = "YOUR_ACCESS_KEY",
           "AWS_DEFAULT_REGION" = "YOUR_REGION_LIKE_us-west-2")

csvs <- get_bucket_df("your_bucket", max= Inf) %>% filter(str_detect(Key, "sample.*\\.csv$")) 

map_df(csvs$Key, function(key){
  read_csv(get_object(key, bucket = "your_bucket", as = "text"))
})

このとき、AWS Access Key ID、AWS Secret Access Key、Region、Bucketが適切な値に設定されていることを確認してください。またバケットに1,000以上のファイルが含まれている場合は、get_bucket_dfの引数に Max = Inf を指定してください。

上記のコードが書けたら、実行ボタンをクリックします。

データがプレビューウィンドウに表示できたら、保存をクリックすることで、データフレームとして保存ができます。