JSON은 데이터를 저장하고
전송하는 뛰어난 방법입니다.
JSON에 대한 기본 개념은
아래 포스팅을 참고하세요.
이번 포스팅에서는 Python내에서
JSON의 힘을 활용할 수 있는 방법을
알아보고자 합니다.
Python은 JSON이라는 패키지를 통해
JSON에 대한 지원을 하고 있으며
JSON을 딕셔너리(dictionary)와
유사하게 취급합니다.
Python 내에서 JSON은 기본 자료형
(예: 문자열 및 숫자)과 중첩 목록,
튜플 및 객체를 지원합니다.
Python처럼 접근하기 쉬운 언어에서
JSON을 사용하는 이유는 무엇일까요?
이유는 단순하고 간단합니다!
JSON은 "key" : "value" 쌍으로
이해하기 쉬울 뿐만 아니라
API 및 구성 파일에서
데이터를 저장하고 가져오기 위한
공통 데이터 형식으로도 자주 사용됩니다.
많은 다른 시스템,
애플리케이션 및 서비스가 이미
JSON을 사용하여
데이터를 저장하고 전송하고 있는데
Python에서 사용하고 싶지 않을까요?
Python 코드 내에서 JSON으로
작업하는 방법을 알아보겠습니다.
Python과 JSON을 사용하여
Hello, World!
를 출력하는 쉬운 애플리케이션을
생성해 보겠습니다.
가장 먼저 할 일은
Python 스크립트를 만드는 것입니다.
새로운 파일(파일명: hello-world.py)을
하나 만듭니다.
Python 코드에서 JSON을 사용하려면
먼저 아래 명령문처럼
JSON 라이브러리를 가져와야 합니다.
import json
다음 줄에는 실제 JSON
항목이 포함되어 있으며 다음과 같습니다.
import json
sampleJson = '{"name1":"Hello,", "name2":"World!"}'
JSON을 사용하기 때문에 json 라이브러리에서
loads라고 하는 함수를 이용해야 합니다.
loads 함수는
sampleJson에서 JSON 데이터를 로드하고
변수 데이터에 할당하는 역할을 합니다.
import json
sampleJson = '{"name1":"Hello,", "name2":"World!"}'
data = json.loads(sampleJson)
마지막으로
데이터에 저장한 정보를 출력합니다.
import json
sampleJson = '{"name1":"Hello,", "name2":"World!"}'
data = json.loads(sampleJson)
print(f'{data["name1"]}, {data["name2"]}')
조금만 더 복잡하게 해 보겠습니다.
JSON을 딕셔너리로 사용하는
간단한 Python 스크립트를 만든 다음
형식이 지정되지 않은 결과와
형식이 지정된 결과 모두로
데이터를 출력하는 방법을 살펴보겠습니다.
import json
myDictionary = {
"name": "Jack Wallen",
"job_titel": "Writer",
"company_name": "The New Stack",
"speciality": "Linux",
"emails": [{"email": "???@example.com", "type": "work"}],
"my_neighbor": False
}
다음으로 myDictionary 객체에서
JSON의 dumps 함수를 사용합니다.
unformattedJson = json.dumps(myDictionary)
마지막으로
형식이 지정되지 않은 방식으로
JSON 데이터를 출력합니다.
print(unformattedJson)
출력 결과는 아래와 같습니다.
형식이 지정되지 않은
텍스트를 출력하는 대신
실제로 더 표준적인 JSON 형식으로
출력할 수 있습니다.
그렇게 하려면 먼저
myDictionary 구문 아래에
다음과 같은 섹션을 추가해야 합니다.
formattedJson = json.dumps(
myDictionary,
indent = 4,
separators = (", ", " = "),
sort_keys = True
)
위 구문은
JSON의 덤프 기능을 사용한 다음
들여 쓰기 및 큰따옴표 구분 기호로
myDictionary의 형식을 지정하고,
formattedJson 변수에
데이터를 할당하는 동안
key를 기준으로
출력 딕셔너리를
정렬하는 것입니다
(sort_keys = True 사용).
import json
myDictionary = {
"name": "Jack Wallen",
"job_titel": "Writer",
"company_name": "The New Stack",
"speciality": "Linux",
"emails": [{"email": "???@example.com", "type": "work"}],
"my_neighbor": False
}
formattedJson = json.dumps(
myDictionary,
indent = 4,
separators = (", ", " = "),
sort_keys = True
)
print(formattedJson )
JSON 형식의 파일 읽기
예를 들어, 긴 JSON 형식의
직원 데이터 파일이 있다고
가정해 보겠습니다.
아래 형태의 데이터가
'data.json'이라는 파일명으로,
C드라이브에 저장되어 있다는
가정하에
{
"employee_details": [
{
"employee_name" : "Jack Wallen",
"employee_email" : "???@example.com",
"employee_title" : "writer"
},
{
"employee_name" : "Olivia Nightingale",
"employee_email" : "night???@example.com",
"employee_title" : "editor"
}
]
}
해당 데이터를 Python으로
읽어 보겠습니다.
import json
f = open("c:\data.json")
data = json.load(f)
for i in data["employee_details"]:
print(i)
f.close()
'Python > 데이터 다루기' 카테고리의 다른 글
알아두면 데이터 분석 시 시간을 절약할 수 있는 16가지 Python 및 Pandas Hacks (0) | 2022.05.23 |
---|---|
데이터 분석의 70%를 처리할 수 있는 10가지 Python 작업 (0) | 2022.05.21 |
JSON에 대한 소개 (0) | 2022.05.08 |
데이터 분석을 위한 강력한 Pandas 함수 1 (0) | 2022.05.01 |
pandas를 활용한 데이터 정리 (0) | 2022.04.30 |
댓글