Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python으로 JSON 파일을 읽어 데이터프레임과 CSV로 변환하는 방법

개요

pandas를 활용하면 JSON 형식의 데이터를 손쉽게 읽어 들여 데이터프레임(DataFrame)으로 변환한 뒤, 다시 CSV 파일로 저장할 수 있습니다. 이 글에서는 그 과정을 단계별로 살펴보겠습니다.

먼저 아래와 같은 샘플 JSON 데이터가 pandas_sample.json이라는 파일에 저장되어 있다고 가정해 보겠습니다.

{
    "employee": {
        "name": "emp1",
        "salary": 50000,
        "age": 31
    }
}

이 데이터를 CSV로 변환하면 다음과 같은 결과를 얻을 수 있습니다.

,employee
age,31
name,emp1
salary,50000

해결 방법

JSON 파일을 CSV로 변환하기 위해 다음 순서대로 진행합니다.

  1. pandas_sample.json 파일을 생성하고 JSON 데이터를 저장합니다.
  2. pd.read_json() 함수로 파일에서 JSON 데이터를 읽어 변수에 담습니다.
data = pd.read_json('pandas_sample.json')
  1. 읽어온 데이터를 pd.DataFrame()으로 감싸 데이터프레임으로 변환합니다.
df = pd.DataFrame(data)
  1. df.to_csv() 함수를 사용해 데이터프레임을 CSV 파일 형식으로 저장합니다.
df.to_csv('pandas_json.csv')

전체 예제 코드

지금까지의 과정을 하나의 코드로 정리하면 다음과 같습니다.

import pandas as pd

# JSON 파일 읽기
data = pd.read_json('pandas_sample.json')

# 데이터프레임으로 변환
df = pd.DataFrame(data)

# CSV 파일로 저장
df.to_csv('pandas_json.csv')

실행 결과

생성된 CSV 파일을 열어보면 아래와 같이 데이터가 정상적으로 변환된 것을 확인할 수 있습니다.

employee
age 31
name emp1
salary 50000

마무리

이처럼 pandas의 read_json()to_csv() 메서드만 활용하면 단 몇 줄의 코드로 JSON 데이터를 데이터프레임으로 변환하고 CSV 파일로 내보낼 수 있습니다. 실무에서는 중첩된 JSON 구조나 대용량 파일을 다루는 경우가 많은데, 이때는 json_normalize()를 함께 사용하거나 orient, index 등의 옵션을 조절하면 더욱 유연하게 처리할 수 있습니다.