크기 조정 가능한 JSON 파일 읽기
대용량 JSON 파일을 Python에 로드하면 JSON 디코더의 기본 동작으로 인해 메모리 문제가 발생할 수 있습니다. 이러한 디코더는 일반적으로 전체 파일을 메모리에 로드하므로 대용량 파일의 경우 MemoryError가 발생합니다.
이 문제를 해결하는 열쇠는 전체 파일을 한 번에 로드하는 대신 스트리밍 접근 방식을 활용하는 것입니다. 여기에는 더 작은 단위로 데이터를 읽고 처리하는 작업이 포함됩니다.
해결책: JSON 스트리밍
효과적인 솔루션 중 하나는 ijson 모듈을 사용하여 스트리밍 접근 방식을 구현하는 것입니다. Ijson은 JSON을 스트림으로 처리하므로 전체 파일을 메모리에 보관하지 않고도 데이터를 반복적으로 처리할 수 있습니다.
코드 예
<code class="python">from ijson import items with open('file.json', 'r') as f: for event, value in items(f): # Process the current event and value pass</code>
이 예에서는 ijson 모듈은 JSON 데이터를 반복하여 처리할 이벤트와 값을 제공합니다. 이렇게 하면 전체 파일을 메모리에 로드하는 것을 방지하여 초기 메모리 오류를 해결할 수 있습니다.
대체 솔루션
다른 주목할만한 솔루션은 다음과 같습니다.
스트리밍 기술을 활용하면 메모리 제약 없이 대용량 JSON 파일을 효과적으로 로드하고 처리할 수 있습니다.
위 내용은 Python에서 메모리 오류 없이 크기 조정 가능한 JSON 파일을 처리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!