백엔드 개발 파이썬 튜토리얼 단일 파일에서 여러 JSON 개체를 추출하는 방법: Pythonic 솔루션

단일 파일에서 여러 JSON 개체를 추출하는 방법: Pythonic 솔루션

Oct 29, 2024 pm 06:20 PM

How to Extract Multiple JSON Objects from a Single File: A Pythonic Solution

단일 파일에서 여러 JSON 개체 추출

수많은 JSON 개체가 포함된 JSON 파일을 발견할 경우 포괄적인 접근 방식을 갖는 것이 중요합니다. 특정 데이터를 추출합니다. 이 기사에서는 이러한 파일에서 "타임스탬프" 및 "유용성" 값을 추출하는 솔루션에 대해 자세히 설명합니다.

제공된 JSON 파일 구조는 스택된 JSON 개체를 나타냅니다. 원하는 데이터를 구문 분석하고 검색하려면 json.JSONDecoder.raw_decode 함수 사용을 고려하세요. 이 함수를 사용하면 메모리 제약 조건을 준수하면서 임의로 큰 JSON 문자열을 디코딩할 수 있습니다.

그러나 Python json 모듈은 앞에 공백이 붙은 문자열을 허용하지 않는다는 점에 유의하는 것이 중요합니다. 따라서 구문 분석의 시작점 역할을 하는 공백이 아닌 첫 번째 문자를 검색하기 위해 정규식을 사용합니다.

아래는 이 문제를 해결하는 수정된 솔루션입니다.

<code class="python">from json import JSONDecoder, JSONDecodeError
import re

NOT_WHITESPACE = re.compile(r'\S')

def decode_stacked(document, pos=0, decoder=JSONDecoder()):
    while True:
        match = NOT_WHITESPACE.search(document, pos)
        if not match:
            return
        pos = match.start()
        
        try:
            obj, pos = decoder.raw_decode(document, pos)
        except JSONDecodeError:
            # do something sensible if there's some error
            raise
        yield obj</code>
로그인 후 복사

수정된 코드 조각은 주어진 문서 내에 쌓인 JSON 개체를 효과적으로 구문 분석하여 각 개체가 발견될 때마다 반환합니다. 이 접근 방식은 기존 JSON 구문 분석의 한계를 피하므로 크고 잠재적으로 복잡한 JSON 파일을 처리하는 데 적합합니다.

위 내용은 단일 파일에서 여러 JSON 개체를 추출하는 방법: Pythonic 솔루션의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

HTML을 구문 분석하기 위해 아름다운 수프를 어떻게 사용합니까? HTML을 구문 분석하기 위해 아름다운 수프를 어떻게 사용합니까? Mar 10, 2025 pm 06:54 PM

HTML을 구문 분석하기 위해 아름다운 수프를 어떻게 사용합니까?

파이썬의 이미지 필터링 파이썬의 이미지 필터링 Mar 03, 2025 am 09:44 AM

파이썬의 이미지 필터링

Python을 사용하여 텍스트 파일의 ZIPF 배포를 찾는 방법 Python을 사용하여 텍스트 파일의 ZIPF 배포를 찾는 방법 Mar 05, 2025 am 09:58 AM

Python을 사용하여 텍스트 파일의 ZIPF 배포를 찾는 방법

Python을 사용하여 PDF 문서를 사용하는 방법 Python을 사용하여 PDF 문서를 사용하는 방법 Mar 02, 2025 am 09:54 AM

Python을 사용하여 PDF 문서를 사용하는 방법

Django 응용 프로그램에서 Redis를 사용하여 캐시하는 방법 Django 응용 프로그램에서 Redis를 사용하여 캐시하는 방법 Mar 02, 2025 am 10:10 AM

Django 응용 프로그램에서 Redis를 사용하여 캐시하는 방법

Tensorflow 또는 Pytorch로 딥 러닝을 수행하는 방법은 무엇입니까? Tensorflow 또는 Pytorch로 딥 러닝을 수행하는 방법은 무엇입니까? Mar 10, 2025 pm 06:52 PM

Tensorflow 또는 Pytorch로 딥 러닝을 수행하는 방법은 무엇입니까?

파이썬 객체의 직렬화 및 사제화 : 1 부 파이썬 객체의 직렬화 및 사제화 : 1 부 Mar 08, 2025 am 09:39 AM

파이썬 객체의 직렬화 및 사제화 : 1 부

파이썬에서 자신의 데이터 구조를 구현하는 방법 파이썬에서 자신의 데이터 구조를 구현하는 방법 Mar 03, 2025 am 09:28 AM

파이썬에서 자신의 데이터 구조를 구현하는 방법

See all articles