시작하기무료로 시작하기

청크 단위로 데이터를 로드하는 제너레이터 작성 (3)

아주 좋아요! 이제 대용량 파일을 처리하는 데 활용할 수 있는 제너레이터 함수를 만들었어요.

이번에는 방금 만든 제너레이터 함수를 사용해, 앞에서처럼 World Bank 데이터셋을 처리해 보겠습니다. 파일을 한 줄씩 읽어, 데이터셋의 한 열에서 각 국가가 몇 번 나타나는지 세어 딕셔너리를 만들 거예요. 다만 이번 연습에서는 1000행만 처리하는 것이 아니라, 전체 데이터셋을 모두 처리합니다!

제너레이터 함수 read_large_file()와 csv 파일 'world_dev_ind.csv'는 미리 로드되어 있으니 바로 사용하시면 됩니다. 시작해 볼까요?

이 연습은 강의의 일부입니다

Python 도구 상자

강의 보기

연습 안내

  • 컨텍스트 매니저에서 open()을 사용해 파일 'world_dev_ind.csv'를 열고, 이를 file에 바인딩하세요.
  • for 루프를 완성해 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)
코드 편집 및 실행