Python에서 JSON을 CSV로 변환하는 방법
이미지 크레디트: oatawa/iStock/GettyImages
변환할 수 있습니다 Python 프로그래밍 언어의 JSON에서 CSV로 언어와 함께 제공되는 내장 라이브러리를 사용합니다. JSON 개체를 반복하고 해당 키와 값을 쉼표로 구분된 값 파일의 행으로 출력할 수 있습니다. 모든 JSON 파일을 단일 CSV로 쉽게 표현할 수 있는 것은 아니므로 형식에 따라 여러 CSV 파일을 사용하여 모든 데이터를 유용한 방식으로 나타내야 할 수도 있습니다.
JSON 및 CSV 이해
JSON 및 CSV 파일은 디지털 데이터를 나타내는 두 가지 일반적인 방법입니다. JSON은 자바스크립트 객체 표기법, 데이터를 데이터 목록뿐만 아니라 값에 대한 키의 중첩 매핑으로 나타내는 방법입니다. JavaScript 프로그래밍 언어에서 데이터가 표현되는 방식에서 영감을 얻었지만 Python을 비롯한 많은 최신 프로그래밍 언어에는 JSON 데이터 처리 도구가 있습니다.
오늘의 비디오
ㅏ 쉼표로 구분된 값 파일은 구조화된 데이터를 나타내는 또 다른 방법입니다. 이러한 파일은 스프레드시트 및 유사한 유형의 프로그램에서 자주 사용되므로 다음을 수행하려는 경우 JSON을 Excel로 가져오기 먼저 CSV 파일로 변환하는 것이 유용할 수 있습니다. 일반적으로 CSV 파일에는 파일 상단에 각 열에 저장된 내용을 나타내는 열 헤더가 포함됩니다. 그런 다음 파일의 각 행은 쉼표로 구분된 각 열에 대해 하나씩 여러 값으로 구성됩니다. 쉼표가 있는 데이터를 처리하기 위한 특별한 규칙이 있습니다.
JSON 파일과 마찬가지로 CSV 파일을 생성하고 읽기 위한 Python을 비롯한 많은 프로그래밍 언어로 된 많은 도구가 있습니다.
JSON을 CSV로 변환
Python에 내장된 JSON 및 CSV 라이브러리를 사용하여 JSON을 CSV로 변환할 수 있습니다. 코드 상단 근처에 "import json" 및 "import csv"라는 줄을 추가하여 코드로 가져옵니다.
그런 다음 JSON 라이브러리의 "짐" JSON 파일에서 데이터를 가져오는 메서드입니다. Python 사전으로 로드됩니다. 사전의 "열쇠" 메소드를 사용하여 CSV 파일의 열이 될 JSON 파일의 데이터 필드를 결정합니다.
CSV 라이브러리의 "딕트라이터" 클래스를 사용하여 해당 열로 CSV 파일을 만들고 DictWriter의 "필드명" 논쟁. "쓰기 헤더" CSV의 상단에 열 이름을 출력하는 메소드입니다.
그런 다음 다음을 사용하여 JSON 객체를 반복합니다. 루프를 위해. 부르다 JSON 파일의 각 데이터 요소에 대한 CSV 개체의 "writerow" 메서드를 사용하여 CSV 파일에 해당 행을 만듭니다.
복잡한 JSON 파일
일부 복잡한 JSON 파일은 CSV로 표현하기 어려울 수 있습니다. 여기에는 표준 행 및 열 구조와 즉시 일치하지 않는 파일이 포함될 수 있습니다. 이러한 파일을 처리하고 CSV로 변환하려는 경우 몇 가지 옵션이 있습니다.
먼저 JSON 파일에서 발생하는 전체 데이터 필드 세트를 찾아 CSV의 열로 만들 수 있습니다. 특정 행에 열이 표시되지 않는 경우 열을 비워둡니다. 옵션을 사용 "추출 = '무시'" 특정 데이터 조각에서 발생하지 않는 필드에 대해 이 작업을 자동으로 수행하도록 Python CSV DictWriter를 설정할 때.
JSON 파일을 여러 CSV로 표시하는 것도 고려할 수 있습니다. 파이썬 사용 만약 특정 데이터 조각을 기록해야 하는 CSV 파일을 감지하는 명령문.
이 기술은 JSON 개체에 다른 개체가 포함된 중첩 JSON 파일에도 유용할 수 있습니다. 이러한 하위 개체는 해당하는 기본 CSV의 행을 나타내는 자체 CSV 파일에 넣을 수 있습니다.