개요
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로 변환하기 위해 다음 순서대로 진행합니다.
- pandas_sample.json 파일을 생성하고 JSON 데이터를 저장합니다.
pd.read_json()함수로 파일에서 JSON 데이터를 읽어 변수에 담습니다.
data = pd.read_json('pandas_sample.json')- 읽어온 데이터를
pd.DataFrame()으로 감싸 데이터프레임으로 변환합니다.
df = pd.DataFrame(data)
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 등의 옵션을 조절하면 더욱 유연하게 처리할 수 있습니다.