อัปโหลดรายงานสรุปสำหรับเดือนกุมภาพันธ์
ในแบบฝึกหัดก่อนหน้า Sam ได้ดาวน์โหลดไฟล์ข้อมูลดิบประจำเดือนจาก bucket มาแล้ว
จากนั้นนำมารวมเป็น DataFrame เดียวที่แสดงคำขอและประเภทคำขอทั้งหมดของเดือนนั้น
เธอเก็บ DataFrame นี้ไว้ในตัวแปร all_reqs และใช้ฟังก์ชัน groupby ของ pandas เพื่อนับจำนวนคำขอตามชื่อบริการ ได้ผลลัพธ์เป็น DataFrame ใหม่ชื่อ agg_df:
| service_name | count | |
|---|---|---|
| 0 | 72 Hour Violation | 2910 |
| 1 | Chain Link Fence Repair | 90 |
| 2 | Collections Truck Spill | 30 |
| 3 | Container Left Out | 120 |
| 4 | Dead Animal | 360 |
เธอสร้าง S3 client ของ boto3 ไว้ในตัวแปร s3 เรียบร้อยแล้ว
ช่วย Sam เผยแพร่สถิติคำขอประจำเดือนนี้
เขียน agg_df ลงในไฟล์ CSV และ HTML แล้วอัปโหลดขึ้น S3 ในรูปแบบไฟล์สาธารณะ
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Python เบื้องต้นสำหรับ AWS Boto
คำแนะนำการฝึกหัด
- เขียน
agg_dfในรูปแบบ CSV และ HTML โดยตั้งชื่อไฟล์ว่า'feb_final_report.csv'และ'feb_final_report.html'ตามลำดับ - อัปโหลดไฟล์ทั้งสองรูปแบบของ
agg_dfไปยัง bucketgid-reportsและตั้งค่าให้เป็นสาธารณะแบบอ่านอย่างเดียว
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Write agg_df to a CSV and HTML file with no border
agg_df.____('./____')
agg_df.____('./____', border=0)
# Upload the generated CSV to the gid-reports bucket
s3.____(Filename='./feb_final_report.csv',
Key='2019/feb/final_report.html', Bucket='gid-reports',
____ = {'ACL': '____'})
# Upload the generated HTML to the gid-reports bucket
s3.upload_file(Filename='./feb_final_report.html',
Key='2019/feb/final_report.html', Bucket='gid-reports',
____ = {'ContentType': '____',
'____': '____'})