เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

เขียน generator เพื่อโหลดข้อมูลเป็นส่วน ๆ (3)

ยอดเยี่ยม! ตอนนี้คุณสร้างฟังก์ชัน generator สำหรับประมวลผลไฟล์ขนาดใหญ่ได้แล้ว

คราวนี้ลองนำฟังก์ชัน generator ที่สร้างไว้มาใช้ประมวลผลชุดข้อมูล World Bank เหมือนที่เคยทำก่อนหน้านี้ โดยจะอ่านไฟล์ทีละบรรทัด แล้วสร้าง dictionary นับจำนวนครั้งที่แต่ละประเทศปรากฏในคอลัมน์ของชุดข้อมูล แต่ครั้งนี้จะไม่ประมวลผลแค่ 1,000 แถว — จะประมวลผลชุดข้อมูลทั้งหมดเลย!

ฟังก์ชัน read_large_file() และไฟล์ CSV 'world_dev_ind.csv' ถูกโหลดไว้ให้พร้อมใช้งานแล้ว ลุยเลย!

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Python Toolbox

ดูคอร์ส

คำแนะนำการฝึกหัด

  • กำหนดให้ไฟล์ 'world_dev_ind.csv' เป็น file ใน context manager โดยใช้ open()
  • เติม for loop ให้วนซ้ำผ่าน generator ที่ได้จากการเรียก read_large_file() เพื่อประมวลผลทุกแถวในไฟล์

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Initialize an empty dictionary: counts_dict
counts_dict = {}

# Open a connection to the file
with ____ as ____:

    # Iterate over the generator from read_large_file()
    for line in ____:

        row = line.split(',')
        first_col = row[0]

        if first_col in counts_dict.keys():
            counts_dict[first_col] += 1
        else:
            counts_dict[first_col] = 1

# Print            
print(counts_dict)
แก้ไขและรันโค้ด