메모리 손상 없이 매우 큰 JSON 파일 읽기
표준 Python 방법을 사용하여 상당한 JSON 파일을 메모리에 직접 로드하려고 시도하면 " 메모리 오류." 이는 이러한 방법이 파일을 구문 분석하기 전에 전체 파일을 읽으려고 시도하여 과도한 메모리를 소비하기 때문에 발생합니다.
이 문제를 극복하려면 파일을 스트림으로 증분 처리하여 즉시 처리할 수 있도록 한 번에 부분씩 읽어야 합니다. ijson은 스트리밍 JSON 파서를 제공하는 이러한 목적에 유용한 라이브러리입니다.
다음은 ijson을 사용하여 대용량 JSON 파일을 스트리밍하는 방법에 대한 예입니다.
<code class="python">import ijson with open('large_file.json', 'r', encoding='utf-8') as f: parser = ijson.parse(f) for prefix, event, value in parser: # Process the current event and value if prefix and event == 'map_key': # Handle the key for a new object key = value elif event == 'string': # Handle the value for a string val = value</code>
반복하면서 스트림을 통해 메모리 제한을 초과하지 않고 데이터를 증분적으로 처리할 수 있습니다. json-streamer 및 bigjson과 같이 토론에서 언급된 다른 라이브러리도 유사한 기능을 제공합니다. 이러한 도구를 활용하면 메모리 오류 없이 매우 큰 JSON 파일을 효과적으로 처리할 수 있습니다.
위 내용은 다음은 질문 기반으로 맞춤화되고 대형 JSON 파일 처리에 대한 기사의 초점을 반영하는 몇 가지 제목 옵션입니다. 옵션 1(더 일반적): * 매우 큰 JSON 파일을 처리하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!