Bắt đầu ngayBắt đầu miễn phí

Mở một tệp riêng tư

Hội đồng Thành phố muốn xem xu hướng tổng thể và đã yêu cầu Sam cộng dồn tất cả yêu cầu kể từ đầu năm 2019. Để làm được điều này, Sam phải đọc các tệp CSV hằng ngày từ bucket 'gid-requests' và nối chúng lại. Tuy nhiên, các tệp gid-requests là riêng tư. Cô ấy có quyền truy cập bằng khóa của mình, nhưng mọi người không thể truy cập.

Trong bài tập này, bạn sẽ giúp Sam có cái nhìn toàn cảnh bằng cách đọc các tệp riêng tư này vào pandas và nối chúng thành một DataFrame duy nhất!

Cô ấy đã khởi tạo client S3 của boto3 và gán vào biến s3. Cô ấy đã liệt kê tất cả các đối tượng trong gid-requests vào biến response.

Bài tập này là một phần của khóa học

Giới thiệu về AWS Boto trong Python

Xem khóa học

Hướng dẫn bài tập

  • Với mỗi tệp trong response, tải đối tượng từ S3.
  • Tải StreamingBody của đối tượng vào pandas, rồi thêm vào df_list.
  • Nối tất cả DataFrame bằng pandas.
  • Xem trước DataFrame kết quả.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

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()
Chỉnh sửa và Chạy Mã