Python에서 JSON을 CSV로

Manav Narula 2023년1월30일
  1. Pandas DataFrames to_csv()메서드를 사용하여 Python에서 JSON을 CSV로 변환
  2. csv 모듈을 사용하여 JSON을 CSV 파일로 변환
Python에서 JSON을 CSV로

JSON은JavaScript Object Notation을 의미합니다. 이는 JavaScript의 객체 형식을 기반으로하며 구조화 된 데이터를 표현하기위한 인코딩 기술입니다. 요즘에는 특히 서버와 웹 응용 프로그램 간의 데이터 공유에 널리 사용됩니다.

CSV 파일은 Excel 스프레드 시트와 같은 표 형식으로 데이터를 저장하는 데 사용됩니다.

이 튜토리얼에서는 JSON 데이터를 CSV 파일로 변환하는 방법을 배웁니다.

Pandas DataFrames to_csv()메서드를 사용하여 Python에서 JSON을 CSV로 변환

이 메서드에서는 먼저 JSON을 Pandas DataFrame으로 변환하고 거기에서to_csv()메서드를 사용하여 CSV 파일로 변환합니다. Python의json 라이브러리에서 제공하는json.loads()함수를 사용하여 JSON 문자열을 읽어서 JSON을 DataFrame으로 변환 할 수 있습니다. 그런 다음이 JSON 객체를json_normalize()함수에 전달하여 필요한 데이터를 포함하는 Pandas DataFrame을 반환합니다.

다음 코드 스 니펫은이를 수행하는 방법을 설명합니다.

import pandas as pd
import json

data = """
{
"Results":
         [
         { "id": "1", "Name": "Jay" },
         { "id": "2", "Name": "Mark" },
         { "id": "3", "Name": "Jack" }
         ],
"status": ["ok"]
}
"""

info = json.loads(data)

df = pd.json_normalize(info["Results"])

df.to_csv("samplecsv.csv")

생성 된 CSV 파일의 내용은 다음과 같습니다.

,id,Name
0,1,Jay
1,2,Mark
2,3,Jack

csv 모듈을 사용하여 JSON을 CSV 파일로 변환

이 방법에서는 CSV 파일을 읽고 쓰는 데 사용되는 Python의 csv라이브러리를 사용합니다. 먼저 이전 방법에서했던 것처럼 JSON 데이터를 읽습니다. 쓰기 모드에서 파일을 열고csv 모듈의DictWriter()를 사용하여 JSON 데이터를 파일에 매핑하고 쓸 수있는 객체를 만듭니다. fieldnameswriterows()함수를 사용하여 행을 쓸 때 데이터와 식별되고 일치하는 키입니다.

다음 코드 스 니펫은 위의 메소드를 구현하는 방법을 보여줍니다.

import csv
import json

data = """
{
"Results":
         [
         { "id": "1", "Name": "Jay" },
         { "id": "2", "Name": "Mark" },
         { "id": "3", "Name": "Jack" }
         ],
"status": ["ok"]
}
"""

info = json.loads(data)["Results"]

print(info[0].keys())

with open("samplecsv.csv", "w") as f:
    wr = csv.DictWriter(f, fieldnames=info[0].keys())
    wr.writeheader()
    wr.writerows(info)
작가: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

관련 문장 - Python JSON

관련 문장 - Python CSV