최대 1 분 소요

판다스 데이터프레임을 JSON 타입으로 변환하는 작업은 official doc 에도 쉽게 찾아볼 수 있듯이 많은 이들에게 익숙할 것이다 모델 산출물을 Azure Storage 에 연동하여 업로드 하는데, NDJSON 타입으로 업로드 해달라는 요청을 받아 찾아보았다

NDJSON이란?

  • Newline Delimited JSON Data 이라는 용어 자체로 설명 가능
  • 아래 왼쪽이 JSON, 오른쪽이 NDJSON (Reference)
  • 블로그를 읽어보니 NDJSON 타입이 새로운 데이터를 추가할 때 모든 파일을 읽지 않아도 된다는 장점이 있다고 한다

img

Pandas Dataframe 을 NDJSON 타입으로 READ(읽기) 하고 싶은 경우 에는

ndjson 타입으로 먼저 데이터를 로드한 후, 판다스 데이터프레임으로 감싸서 읽어오면 된다

    with open(os.path.join({FILE_PATH}, {ITEM_FILE}), encoding='utf-8-sig') as f:	# 한글 데이터인 경우 encoding 설정
        data = ndjson.load(f)														# ndjson 으로 읽고
    org_data = pd.DataFrame(data)													# dataframe 으로 감싸서 읽기

Pandas Dataframe 을 NDJSON 타입으로 WRITE(쓰기) 싶은 경우 에는

pandas 의 to_json 을 사용하면서 parameter 설정을 orient=’records’lines=True 로 하면 된다.

    df.to_json({file_path}, orient='records', lines=True)

댓글남기기