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 데이터를 파일에 매핑하고 쓸 수있는 객체를 만듭니다. fieldnames
는writerows()
함수를 사용하여 행을 쓸 때 데이터와 식별되고 일치하는 키입니다.
다음 코드 스 니펫은 위의 메소드를 구현하는 방법을 보여줍니다.
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 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의 URL에서 JSON 가져 오기
- Python 에서 JSON 파일을 예쁘게 인쇄하는 방법
- Python 클래스 개체를 JSON으로 직렬화
- Python에서 JSON 병합
- Python은 JSON Diff를 사용하여 다단계 JSON 개체를 비교합니다.
- Python을 사용하여 JSON 파일에 데이터 추가