데이터 분석 작업을 하다 보면 DataFrame의 내용을 파일로 저장했다가 나중에 다시 불러와야 하는 경우가 자주 발생합니다. 판다스(Pandas)에서는 to_json() 메서드와 read_json() 메서드를 사용하여 DataFrame을 JSON 파일로 저장하고 다시 읽어올 수 있습니다.
처리 순서
- 2차원이면서 크기가 변경 가능한, 이질적인 데이터를 담을 수 있는 표 형태의 데이터 구조인 DataFrame(df)을 생성합니다.
- 입력으로 사용된 DataFrame(df)을 출력하여 확인합니다.
- to_json() 메서드를 사용하여 DataFrame을 JSON 파일로 저장합니다.
- read_json() 메서드를 사용하여 저장된 JSON 파일을 다시 읽어옵니다.
예제 코드
import pandas as pd
df = pd.DataFrame(
{
"x": [5, 2, 7, 0],
"y": [4, 7, 5, 1],
"z": [9, 3, 5, 1]
}
)
print("Input DataFrame is:\n", df)
print("JSON output for input DataFrame: ", df.to_json("test.json"))
print("Reading the created JSON file")
print("Dataframe is: \n", pd.read_json("test.json"))실행 결과
Input DataFrame is: x y z 0 5 4 9 1 2 7 3 2 7 5 5 3 0 1 1 JSON output for input DataFrame: None Reading the created JSON file Dataframe is: x y z 0 5 4 9 1 2 7 3 2 7 5 5 3 0 1 1
코드 설명
df.to_json("test.json")을 호출하면 DataFrame에 담긴 데이터를 기반으로 "test.json"이라는 이름의 JSON 파일이 생성됩니다. 이때 반환값이 None으로 출력되는 것은 정상적인 동작입니다. 파일 저장이 성공적으로 완료되었음을 의미하며, 별도의 값을 반환하지 않기 때문입니다.
이후 pd.read_json("test.json")을 호출하면 앞서 저장해 둔 test.json 파일에서 데이터를 읽어와 새로운 DataFrame으로 복원합니다. 실행 결과에서 확인할 수 있듯이, 저장 전과 후의 DataFrame 내용이 동일하게 유지되는 것을 알 수 있습니다.
참고 사항
to_json() 메서드는 orient 매개변수를 통해 JSON 저장 형식(records, columns, index 등)을 지정할 수 있으며, read_json()에서도 같은 방식으로 형식을 맞춰 읽어오면 됩니다. 또한 대용량 데이터를 다룰 때는 lines=True 옵션을 활용하면 줄 단위(JSON Lines)로 저장하고 처리할 수 있어 효율적입니다.