이터레이터를 사용한 데이터 파일 처리

데이터 파일은 많은 프로그램에서 일상적인 작업이며, 데이터를 읽고 저장하는 작업은 매우 중요합니다. 이때 이터레이터를 사용하면 데이터 파일을 효율적으로 처리할 수 있습니다.

이터레이터란?

이터레이터는 반복 가능한 개체를 순회하는 데 사용되는 객체입니다. 이터레이터는 일련의 값 또는 컬렉션 내의 요소를 하나씩 가져와 사용할 수 있습니다. 데이터 파일 처리에 유용하게 사용할 수 있는 이터레이터를 만들어 보겠습니다.

데이터 파일 읽기

def read_file(file_path):
    with open(file_path, 'r') as file:
        for line in file:
            yield line.strip()

위의 예제는 주어진 파일 경로를 이용하여 파일을 열고, 파일의 각 줄을 순회하면서 yield 키워드를 사용하여 이터레이터를 생성하는 함수입니다. 각 줄은 strip() 메서드를 통해 공백 문자를 제거한 후 반환됩니다.

이제 이 이터레이터를 활용하여 데이터 파일을 처리할 수 있습니다.

file_path = 'data.txt'
data_iterator = read_file(file_path)

for data in data_iterator:
    # 데이터 처리 로직
    print(data)

위의 예제에서는 “data.txt” 파일을 읽고, 데이터를 한 줄씩 처리하며 출력합니다.

데이터 파일 저장

def write_file(file_path, data_iterator):
    with open(file_path, 'w') as file:
        for data in data_iterator:
            file.write(data + '\n')

위의 예제는 주어진 파일 경로와 데이터 이터레이터를 이용하여 데이터 파일을 생성하고, 데이터를 한 줄씩 파일에 저장하는 함수입니다.

file_path = 'output.txt'
data_iterator = get_data()  # 데이터 가져오는 함수를 호출하여 이터레이터를 생성

write_file(file_path, data_iterator)

위의 예제에서는 “output.txt” 파일을 생성하고, 데이터 이터레이터로부터 데이터를 가져와 파일에 저장합니다.

마무리

이터레이터를 사용하여 데이터 파일을 처리하면 메모리 사용량을 최소화하고, 대용량 파일에 대해서도 효율적으로 작업할 수 있습니다. 이터레이터는 데이터 처리에 있어 유용한 도구 중 하나이며, 효율적인 코드 작성을 위해 적극적으로 활용할 수 있습니다.

#파이썬 #이터레이터 #데이터처리