본문 바로가기
파이썬

파이썬으로 JSON 데이터를 파싱하는 함수

by 마이케이 2024. 11. 6.
반응형

파이썬 JSON 파싱
파이썬 JSON 파싱

파이썬으로 JSON 데이터 파싱 마스터하기: 완벽 가이드

웹에서 데이터를 가져오고 처리하는 것은 현대 소프트웨어 개발에서 필수적인 요소입니다. JSON (JavaScript Object Notation)은 이러한 데이터 교환을 위한 인기 있는 포맷입니다. 파이썬은 강력한 데이터 처리 기능을 갖춘 언어이므로 JSON 데이터를 파싱하고 활용하는 데 이상적인 선택입니다.


1, JSON 소개: 웹 데이터의 언어

JSON은 가볍고 사람이 읽기 쉬운 데이터 교환 포맷입니다. 웹 API에서 데이터를 가져오는 가장 일반적인 방법 중 하나입니다. JSON은 키-값 쌍으로 구성된 텍스트 기반 데이터 구조를 사용합니다. 이는 다양한 유형의 데이터를 표현하는 데 유연성을 제공합니다.

예시:

json { "name": "John Doe", "age": 30, "city": "New York" }

이 예시에서 "name", "age", "city"는 키이고, "John Doe", 30, "New York"은 각 키에 해당하는 값입니다.


2, 파이썬에서 JSON을 파싱하는 방법

파이썬은 JSON 데이터를 처리하기 위한 json 라이브러리를 제공합니다. 이 라이브러리는 json.loads() 함수를 사용하여 JSON 문자열을 파이썬 객체로 변환합니다. 이렇게 변환된 객체는 파이썬에서 쉽게 액세스하고 처리할 수 있습니다.

2.
1, json.loads() 함수 사용하기

python import json

JSON 문자열

json_string = '{"name": "John Doe", "age": 30, "city": "New York"}'

JSON 문자열을 파이썬 객체로 변환

data = json.loads(json_string)

데이터 출력

print(data) # {'name': 'John Doe', 'age': 30, 'city': 'New York'} print(data['name']) # John Doe print(data['age']) # 30

2.
2, JSON 파일 로딩

json.load() 함수를 사용하여 JSON 파일을 파이썬 객체로 로드할 수 있습니다.

python import json

JSON 파일 열기

with open('data.json', 'r') as f: data = json.load(f)

데이터 출력

print(data)

2.
3, 딕셔너리 및 리스트 탐색

JSON 데이터는 기본적으로 파이썬 딕셔너리 및 리스트로 변환됩니다. 따라서 파이썬의 일반적인 딕셔너리 및 리스트 탐색 메커니즘을 사용하여 데이터에 액세스하고 조작할 수 있습니다.

python import json

JSON 문자열

json_string = '[{"name": "John Doe", "age": 30}, {"name": "Jane Doe", "age": 25}]'

JSON 문자열을 파이썬 객체로 변환

data = json.loads(json_string)

데이터 출력

for item in data: print(item['name'], item['age'])


3, 파이썬에서 JSON 데이터 생성 및 저장

파이썬에서 json.dumps() 함수를 사용하여 파이썬 객체를 JSON 문자열로 변환할 수 있습니다. json.dump() 함수를 사용하여 JSON 데이터를 파일에 저장할 수 있습니다.

3.
1, json.dumps() 함수 사용하기

python import json

파이썬 객체

data = {'name': 'John Doe', 'age': 30, 'city': 'New York'}

파이썬 객체를 JSON 문자열로 변환

json_string = json.dumps(data)

JSON 문자열 출력

print(json_string) # {"name": "John Doe", "age": 30, "city": "New York"}

3.
2, JSON 파일 저장하기

python import json

파이썬 객체

data = {'name': 'John Doe', 'age': 30, 'city': 'New York'}

JSON 파일 열기

with open('data.json', 'w') as f: json.dump(data, f)


4, 실제 예시: API 데이터 파싱

JSON 데이터는 웹 API에서 데이터를 가져오는 데 널리 사용됩니다. 다음 코드는 OpenWeatherMap API를 사용하여 도시의 현재 날씨 정보를 가져오고 파싱하는 예시입니다.

python import json import requests

def getweather(city): apikey = 'YOURAPIKEY' # API 키를 여기에 입력 baseurl = 'http://api.openweathermap.org/data/2.5/weather?' completeurl = baseurl + "appid=" + apikey + "&q=" + city response = requests.get(completeurl) if response.statuscode == 200: data = response.json() main = data['main'] # 주요 날씨 정보 temperature = round(main['temp'] - 273.15, 2) # 섭씨 온도 description = data['weather'][0]['description'] print(f"현재 {city}의 날씨: {description}, 온도: {temperature}°C") else: print("도시명을 확인해주세요.")

if name == 'main': city = input("도시명을 입력하세요: ") get_weather(city)


5, 주요 포인트 요약

기능 설명 예시
json.loads() JSON 문자열을 파이썬 객체로 변환 data = json.loads('{"name": "John Doe"}')
json.load() JSON 파일을 파이썬 객체로 로드 with open('data.json', 'r') as f: data = json.load(f)
json.dumps() 파이썬 객체를 JSON 문자열로 변환 json_string = json.dumps({'name': 'John Doe'})
json.dump() 파이썬 객체를 JSON 파일에 저장 with open('data.json', 'w') as f: json.dump(data, f)


6, 결론

파이썬에서 JSON 데이터를 파싱하는 것은 데이터 분석 및 처리 과정에서 매우 중요합니다. json 라이브러리를 사용하면 쉽고 효율적으로 JSON 데이터를 처리할 수 있습니다. 웹 API에서 데이터를 가져오고 다양한 형식으로 변환하는 등 다양한 작업을 수행할 수 있습니다. 이 가이드는 JSON 파싱의 기본 사항을 이해하고 다양한 실제 응용 분야에서 활용할 수 있도록 도울 것입니다.

더 많은 JSON 파싱 기술과 응용 분야를 탐구하여 더 복잡한 데이터 처리 작업을 수행하고 데이터 분석 및 처리 능력을 향상시키세요!

반응형