작성
·
134
0
def func(row):
if row['Country_Region'] in json_data: row['Country_Region'] = json_data[row['Country_Region']]
return row
--------------------------------------------
이 구문에서 굵게 표시한 부분이 궁금합니다.
print (json_data.items()) 실행 해서 확인해보면
이와 같이 나오고('Mainland China', 'China')
함수 부분을 적용하면 'China'로 자동변경이 되는데
구문에서는 value값을 할당한게 아니고 자동적?으로 변경이 된거 같은데 ('Mainland China' -> 'China')
이 부분이 어떻게 적용되는지 궁금합니다.
답변 1
2
안녕하세요. 다음 부분을 말씀하시는거죠?
def func(row):
if row['Country_Region'] in json_data:
row['Country_Region'] = json_data[row['Country_Region']]
return row
이 부분은 영상에서 설명드렸 듯이, 다음 코드에서 json_data 에 각 키별로, 변환될 값을 매칭시켜놓았고,
따라서, json_data[ 특정 키 ] = 특정 키에 해당하는 값 을 가져오게 해놓았습니다.
(이 부분은 파이썬 사전 문법을 사용하였습니다. 사전 문법은 파이썬 기본 문법으로, 본 과정에서도 가볍게는 다루지만, 파이썬 기본 문법에 해당해서, 파이썬 입문과 크롤링 부트캠프 기초 강좌에서 상세히 다룹니다. )
그래서 다음과 같이 하면, row['Country_Region'] 값이 json_data['Mainland China'] 되는 셈이고, 그렇다면 json_data['Mainland China'] 은 'China' 가 되서, 결과적으로 row['Country_Region'] = 'China' 로 됩니다.
즉, 'Mainland China' 값은 'China' 로 변경이 됩니다.
row['Country_Region'] = json_data[row['Country_Region']]
아무래도 지금 설명한 부분은 답변으로 보다는, 영상에서 설명한 부분을 반복해보시는 것이 조금더 나을 것 같기는 하고요. 파이썬 사전 문법에 익숙하지 않다면, 파이썬 사전 문법을 영상 또는 가볍게 다음 링크를 참고해보시는 것이 좀더 좋을 것 같습니다. 감사합니다.
https://wikidocs.net/16
---------------------
import json
with open('COVID-19-master/csse_covid_19_data/country_convert.json', 'r', encoding='utf-8-sig') as json_file:
json_data = json.load(json_file)
print (json_data.keys())
저도 비슷한 부분이 궁금하던 차에 이 댓글을 보았습니다.
import json
with open('COVID-19-master/csse_covid_19_data/country_convert.json', 'r', encoding='utf-8-sig') as json_file:
json_data = json.load(json_file)
print (json_data.keys())
print('\n\n\n')
print (json_data.values())
아래 처럼 json_data.values()를 같이 print 하여 조회하면 key와 연결되어 있는 값들을 확인할 수 있습니다 ~!