打开私有文件
市议会想了解长期趋势,并要求 Sam 统计自 2019 年初以来的所有请求。为此,Sam 需要从 'gid-requests' 存储桶读取每日 CSV 并将其拼接起来。不过,gid-requests 文件是私有的。她可以通过自己的密钥访问,但外部无法访问。
在本练习中,您将帮助 Sam 读取这些私有文件到 pandas,并将它们拼接成一个 DataFrame,便于把握全局趋势!
她已经初始化了 boto3 的 S3 客户端并将其赋给变量 s3。她也已将 gid-requests 中的所有对象列出到变量 response 中。
本练习是课程的一部分
Python 中的 AWS Boto 入门
练习说明
- 对于
response中的每个文件,从 S3 加载该对象。 - 将对象的
StreamingBody读入pandas,并追加到df_list。 - 使用
pandas将所有 DataFrame 拼接起来。 - 预览最终得到的 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()