대용량 CSV 파일을 효과적으로 읽기
Python에서 대용량 CSV 파일을 읽고 처리하는 것은 메모리 제한으로 인해 어려울 수 있습니다. 이 문제는 수백만 개의 행과 수백 개의 열이 포함된 파일에서 더욱 두드러집니다.
메모리 문제 및 최적화
현재 코드는 CSV 파일을 목록으로 만듭니다. 그러나 이 접근 방식은 전체 데이터세트를 메모리에 로드하므로 대용량 파일에는 비효율적입니다.
이 메모리 문제를 해결하려면 데이터를 읽으면서 처리하세요. 아래와 같이 한 번에 한 행을 생성하는 생성기 함수를 사용하세요.
import csv def getstuff(filename, criterion): with open(filename, "rb") as csvfile: datareader = csv.reader(csvfile) yield next(datareader) # yield the header row count = 0 for row in datareader: if row[3] == criterion: yield row count += 1 elif count: # stop when exceeding the adjacent rows of criteria return
이 업데이트된 코드는 지정된 기준과 일치하는 행을 한 줄씩 생성합니다. 전체 데이터 세트를 메모리에 보관할 필요가 없습니다.
성능 개선
메모리 최적화 외에도 성능을 향상시키는 추가 기술이 있습니다.
By 이러한 전략을 사용하면 대용량 CSV 파일을 처리하기 위한 Python 코드의 효율성을 크게 향상시킬 수 있습니다.
위 내용은 Python에서 대용량 CSV 파일을 효과적으로 읽고 처리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!