colab에서 진행하다보면 한글로 된 사람의 이름으로 딕셔너리에 접근하거나, 시각화에 한글을 사용하고 싶을 때가 있는데요.
그 두 과정에서 에러를 고치는 방법을 공유드립니다.
나눔 고딕 폰트 설치 후, 커널 재시작하면 폰트를 사용할 수 있게 됩니다.
!sudo apt-get install -y fonts-nanum
!sudo fc-cache -fv
!rm ~/.cache/matplotlib -rf
위의 코드를 colab에서 실행하면, 다음과 같은 결과가 나옵니다. 이후 커널 다시 시작을 꼭 해주셔야 합니다.

다시 시작 후 다음 셀에 plt.rc('font', family='NanumBarunGothic') 를 실행하면 문제가 해결됩니다.

딕셔너리의 key를 출력해보면 한글로 되어 있음에도 불구하고,
some_dict['한글 키']에 접근하려고 하면 KeyError를 받게 되는 일이 발생하는 원인은 한글 파일을 다루는 방식이 NFC와 NFD로 두 가지가 있는데 이와 관련된 문제라고 합니다.

디렉토리에 있는 모든 파일을 가져오는 경우를 예시로 설명 드리겠습니다.
os.listdir()을 사용하여 파일을 가져오게 되면 해당 문제가 발생하므로, 가져온 파일을 NFC 방식으로 변환해 주어야 합니다. 따라서 아래와 같은 함수를 정의하여 사용합니다.
colab에서 from unicodedata import normalize로 normalize를 가져 온 후,
def list_files(dir_path):
nfd_file_list = os.listdir(dir_path)
file_list = []
for nfd_file in nfd_file_list:
file = normalize("NFC", nfd_file)
file_list.append(file)
return file_list
새로 정의한 list_files() 로 파일을 불러오게 되면, 문제가 해결됩니다.