Viết một generator để tải dữ liệu theo từng khối (3)
Tuyệt vời! Bạn vừa tạo một hàm generator có thể dùng để xử lý các tệp lớn.
Giờ hãy dùng hàm generator này để xử lý bộ dữ liệu của World Bank như bạn đã làm trước đó. Bạn sẽ xử lý tệp theo từng dòng để tạo một từ điển đếm số lần mỗi quốc gia xuất hiện trong một cột của bộ dữ liệu. Tuy nhiên, trong bài này, bạn sẽ không chỉ xử lý 1000 hàng dữ liệu, mà là toàn bộ bộ dữ liệu!
Hàm generator read_large_file() và tệp csv 'world_dev_ind.csv' đã được nạp sẵn và sẵn sàng để bạn sử dụng. Bắt tay vào làm thôi!
Bài tập này là một phần của khóa học
Hộp Công Cụ Python
Hướng dẫn bài tập
- Gán tệp
'world_dev_ind.csv'chofiletrong context manager vớiopen(). - Hoàn thiện vòng lặp
forđể lặp qua generator từ lời gọiread_large_file()nhằm xử lý tất cả các hàng của tệp.
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.
# 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)