始める無料で始める

非公開ファイルを開く

市議会は長期的な傾向を把握したいと考えており、Sam に 2019 年の初め以降のすべてのリクエストを合計するよう依頼しました。これを行うには、Sam は 'gid-requests' バケットにある日次の CSV を読み込み、結合する必要があります。ただし、gid-requests のファイルは非公開です。彼女は自分のキーを使ってアクセスできますが、一般には公開されていません。

この演習では、これらの非公開ファイルを pandas に読み込み、1 つの DataFrame に連結して、Sam が全体像を確認できるように手伝います!

boto3 の S3 クライアントはすでに初期化され、変数 s3 に代入されています。gid-requests 内のすべてのオブジェクト一覧は、変数 response に格納済みです。

この演習はコースの一部です

Python で始める AWS Boto 入門

コースを見る

演習の手順

  • response 内の各ファイルについて、S3 からオブジェクトを読み込みます。
  • オブジェクトの StreamingBodypandas に読み込み、df_list に追加します。
  • すべての DataFrame を pandas で連結します。
  • 結果の DataFrame をプレビューします。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

df_list =  [ ] 

for file in response['Contents']:
    # For each file in response load the object from S3
    obj = s3.____(____='gid-requests', ____=file['Key'])
    # Load the object's StreamingBody with pandas
    obj_df = pd.read_csv(obj['____'])
    # Append the resulting DataFrame to list
    df_list.append(obj_df)

# Concat all the DataFrames with pandas
df = pd.concat(df_list)

# Preview the resulting DataFrame
df.head()
コードを編集して実行