"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Python에서 고정 너비 파일을 어떻게 효율적으로 구문 분석할 수 있나요?

Python에서 고정 너비 파일을 어떻게 효율적으로 구문 분석할 수 있나요?

2024년 11월 11일에 게시됨
검색:558

How can I efficiently parse fixed width files in Python?

고정 너비 파일의 효율적인 구문 분석

고정 너비 파일은 견고한 구조로 인해 구문 분석 시 문제가 됩니다. 이 문제를 해결하기 위해 여러 가지 접근 방식을 사용하여 해당 파일에서 데이터를 효율적으로 추출할 수 있습니다.

구조체 모듈 사용

Python 표준 라이브러리의 구조 모듈은 간결하고 빠른 방법을 제공합니다. 고정 너비 라인을 구문 분석하기 위한 솔루션입니다. 사전 정의된 필드 너비와 데이터 유형을 허용하므로 대규모 데이터 세트에 적합한 옵션입니다. 다음 코드 조각은 이 목적으로 구조체를 활용하는 방법을 보여줍니다.

import struct

fieldwidths = (2, -10, 24)
fmtstring = ' '.join('{}{}'.format(abs(fw), 'x' if fw 

컴파일 시간 최적화를 사용한 문자열 슬라이싱

문자열 슬라이싱은 고정 너비 파일을 구문 분석하는 또 다른 실행 가능한 방법입니다. . 처음에는 효율성이 떨어지지만 "컴파일 시간 최적화"라는 기술을 사용하면 성능을 크게 향상시킬 수 있습니다. 다음 코드는 이 최적화를 구현합니다:

def make_parser(fieldwidths):
    cuts = tuple(cut for cut in accumulate(abs(fw) for fw in fieldwidths))
    pads = tuple(fw 

이 최적화된 접근 방식은 고정 너비 파일 구문 분석에 대한 효율성과 가독성을 모두 제공합니다.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3