728x90
반응형
SMALL
728x90
반응형
O 모범 답안
# 11. 파일 읽기, 쓰기
# 1) 아래 파일을 읽고 출력하는 명령을 실행해 보세요.
# test.json
# {"K5": {"price": "5000", "year": "2022"}, "Avante": {"price":"3000", "year":"2021"}}
import json
with open('test.json', 'r') as f:
json_data = json.load(f)
print(json.dumps(json_data))
{"K5": {"price": "5000", "year": "2022"}, "Avante": {"price": "3000", "year": "2021"}}
print(json_data)
{'K5': {'price': '5000', 'year': '2022'}, 'Avante': {'price': '3000', 'year': '2021'}}
# 2) 위에 파일 내용 중에서 K5의 price를 6000으로 변경하는 명령을 실행하고 출력해 보세요.
# 값 변경
json_data['K5']['price'] = '6000'
print(json_data['K5']['price'])
6000
# 3) 아래 결과와 같이 K8의 키/밸류를 추가해 보세요.
{"K5": {"price": "6000", "year": "2022"}, "Avante": {"price":"3000", "year":"2021"},
'K8': {'price': '9000', 'year': '2022'}}
# 키/밸류 추가
json_data['K8'] = {}
json_data['K8']['price'] = "9000"
json_data['K8']['year'] = '2022'
print(json_data)
{'K5': {'price': '6000', 'year': '2022'}, 'Avante': {'price': '3000', 'year': '2021'}, 'K8': {'price': '9000', 'year': '2022'}}
# 4) test.json 파일에 들여쓰기(indent)를 탭(\t)으로 변경 후 출력해 보세요.
with open('test.json', 'w', encoding='utf-8') as f:
json.dump(json_data, f, indent="\t")
f.close()
with open('test.json', 'r') as f:
json_data = json.load(f)
print(json_data)
{'K5': {'price': '6000', 'year': '2022'}, 'Avante': {'price': '3000', 'year': '2021'}, 'K8': {'price': '9000', 'year': '2022'}}
print(json.dumps(json_data, indent="\t"))
{
"K5": {
"price": "6000",
"year": "2022"
},
"Avante": {
"price": "3000",
"year": "2021"
},
"K8": {
"price": "9000",
"year": "2022"
}
}
# 5) 딕셔너리를 이용하여 아래와 같이 출력되도록 명령을 실행해 보세요.
{"K5": {"price": "5000", "year": "2015"}, "Avante": {"price":"3000", "year":"2014"}}
# 딕셔너리를 만들고, json파일로 저장
car_group = dict()
k5 = dict()
k5["price"] = "5000"
k5["year"] = "2015"
car_group["k5"] = k5
print(k5)
{'price': '5000', 'year': '2015'}
print(car_group)
{'k5': {'price': '5000', 'year': '2015'}}
avante = dict()
avante["price"] = "3000"
avante["year"] = "2014"
car_group["Avante"] = avante
print(avante)
{'price': '3000', 'year': '2014'}
print(car_group)
{'k5': {'price': '5000', 'year': '2015'}, 'Avante': {'price': '3000', 'year': '2014'}}
# 6) 위에서 만든 딕셔너리를 test2.json 파일에 저장 및 출력하는 명령을 작성해 보세요.
with open('test2.json', 'w', encoding='utf-8') as f:
json.dump(car_group, f, indent="\t")
f.close()
with open('test2.json', 'r') as f:
json_data = json.load(f)
print(json_data)
{'k5': {'price': '5000', 'year': '2015'}, 'Avante': {'price': '3000', 'year': '2014'}}
print(json.dumps(json_data, indent="\n"))
{
"k5": {
"price": "5000",
"year": "2015"
},
"Avante": {
"price": "3000",
"year": "2014"
}
}
# 7) 아래 결과와 같이 딕셔너리에 k5의 값을 변경, k8 키/벨류를 추가하고 이를 다시 파일에 쓰기로 저장하는 명령을 작성해 보세요.
{"K5": {"price": "7000", "year": "2015"}, "Avante": {"price":"3000", "year":"2014"},
'K8': {'price': '9000', 'year': '2019'}}
# 딕셔너리를 만들고, json파일로 저장2
json_data['k5']['price'] = "7000"
print(json_data['k5']['price'])
7000
json_data['k8'] = dict() # 딕셔너리의 키 설정
json_data['k8']['price'] = "9000"
json_data['k8']['year'] = "2019"
print(json_data)
{'k5': {'price': '7000', 'year': '2015'}, 'Avante': {'price': '3000', 'year': '2014'}, 'k8': {'price': '9000', 'year': '2019'}}
with open('test2.json', 'w', encoding='utf-8') as f:
ff = json.dumps(json_data, indent="\t", ensure_ascii=False)
f.write(ff)
f.close()
with open('test2.json', 'r') as f:
json_data = json.load(f)
print(json_data)
{'k5': {'price': '7000', 'year': '2015'}, 'Avante': {'price': '3000', 'year': '2014'}, 'k8': {'price': '9000', 'year': '2019'}}
print(json.dumps(json_data, indent="\t"))
{
"k5": {
"price": "7000",
"year": "2015"
},
"Avante": {
"price": "3000",
"year": "2014"
},
"k8": {
"price": "9000",
"year": "2019"
}
}
728x90
반응형
LIST
'파이썬 문법 > 파이썬 기초 문법' 카테고리의 다른 글
파이썬 문제 풀이로 기초 문법 빠르게 이해하고 활용하기 - 12.날짜와 시간(답안) (2) | 2022.12.04 |
---|---|
파이썬 문제 풀이로 기초 문법 빠르게 이해하고 활용하기 - 12.날짜와 시간 (0) | 2022.12.04 |
파이썬 문제 풀이로 기초 문법 빠르게 이해하고 활용하기 - 11.파일 읽기 쓰기 (0) | 2022.12.04 |
파이썬 문제 풀이로 기초 문법 빠르게 이해하고 활용하기 - 10.클래스(답안) (0) | 2022.12.03 |
파이썬 문제 풀이로 기초 문법 빠르게 이해하고 활용하기 - 10.클래스 (2) | 2022.12.03 |