>  기사  >  백엔드 개발  >  단일 파일의 여러 JSON 개체에서 특정 데이터를 추출하는 방법은 무엇입니까?

단일 파일의 여러 JSON 개체에서 특정 데이터를 추출하는 방법은 무엇입니까?

DDD
DDD원래의
2024-10-27 16:03:01172검색

How to Extract Specific Data from Multiple JSON Objects in a Single File?

단일 파일에서 여러 JSON 개체에 액세스

JSON 파일 작업은 어려울 수 있으며, 특히 파일 내에 저장된 여러 JSON 개체를 처리할 때 더욱 그렇습니다. 단일 파일. 이러한 파일에서 특정 정보를 추출하려면 맞춤형 솔루션이 필요합니다.

이 시나리오에서 JSON 파일에는 각각 특정 이벤트의 정보를 나타내는 여러 JSON 개체가 포함되어 있습니다. 작업은 각 개체에서 "타임스탬프" 및 "유용성" 필드를 추출하여 데이터 프레임으로 형식화하는 것입니다.

이를 달성하려면 jsonstream 라이브러리를 활용하는 것이 좋습니다. 전체 파일을 메모리에 로드할 필요 없이 대규모 JSON 파일을 처리하는 특수한 접근 방식을 제공합니다. 라이브러리를 사용하면 파일에서 JSON 개체를 한 번에 하나씩 반복적으로 디코딩할 수 있습니다.

JSONstream 라이브러리는 다음과 같이 사용할 수 있습니다.

<code class="python">from jsonstream import json

with open("input.json", "r") as f:
    for obj in json.parse(f):
        # Access and process individual fields from the parsed JSON object
        timestamp = obj["Timestamp"]
        usefulness = obj["Usefulness"]
        # ... (perform any necessary actions with the extracted data)</code>

또는 직접 파일 액세스가 불가능한 경우 또는 선호하는 경우 raw_decode 메서드와 함께 JSONDecoder 클래스를 활용하는 것이 효율적인 솔루션이 될 수 있습니다. 이 방법을 사용하면 한 번의 작업으로 전체 파일을 읽을 필요 없이 대규모 JSON 문자열을 디코딩할 수 있습니다. 반복적으로 유효한 JSON 개체를 찾고 마지막 구문 분석 위치를 추적합니다.

<code class="python">from json import JSONDecoder

decoder = JSONDecoder()
with open("input.json", "r") as f:
    for line in f:
        try:
            obj, pos = decoder.raw_decode(line, 0)
            timestamp = obj["Timestamp"]
            usefulness = obj["Usefulness"]
            # ... (perform actions with the extracted data)
        except JSONDecodeError:
            # Handle any errors encountered during decoding</code>

JSONstream 라이브러리와 raw_decode 메서드 모두 단일 파일에서 여러 JSON 개체를 추출하는 효율적인 방법을 제공하므로 작업이 더 쉬워집니다. 대규모 JSON 데이터 세트를 활용하고 분석합니다.

위 내용은 단일 파일의 여러 JSON 개체에서 특정 데이터를 추출하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.