웹사이트 검색

Python KeyError 예외 처리 예제


1. Python KeyError 예외란 무엇입니까?

존재하지 않는 dict에서 키에 액세스하려고 하면 Python KeyError가 발생합니다. 내장 예외 클래스 중 하나이며 키-값 쌍이 있는 dict 또는 객체와 함께 작동하는 많은 모듈에서 발생합니다.

2. 사전을 사용한 Python KeyError

프로그램에 의해 KeyError가 발생하는 간단한 예를 살펴보겠습니다.

emp_dict = {'Name': 'Pankaj', 'ID': 1}

emp_id = emp_dict['ID']
print(emp_id)

emp_role = emp_dict['Role']
print(emp_role)

산출:

1
Traceback (most recent call last):
  File "/Users/pankaj/Documents/PycharmProjects/hello-world/journaldev/errors/keyerror_examples.py", line 6, in <module>
    emp_role = emp_dict['Role']
KeyError: 'Role'

3. Python KeyError 예외 처리

try-except 블록을 사용하여 KeyError 예외를 처리할 수 있습니다. 위의 KeyError 예외를 처리해 보겠습니다.

emp_dict = {'Name': 'Pankaj', 'ID': 1}

try:
    emp_id = emp_dict['ID']
    print(emp_id)

    emp_role = emp_dict['Role']
    print(emp_role)
except KeyError as ke:
    print('Key Not Found in Employee Dictionary:', ke)

산출:

1
Key Not Found in Employee Dictionary: 'Role'

4. Dictionary Key 접근 시 KeyError 방지

get() 함수를 사용하여 키 값에 액세스하여 KeyError를 피할 수 있습니다. 키가 없으면 None이 반환됩니다. 키가 없을 때 반환할 기본값을 지정할 수도 있습니다.

emp_dict = {'Name': 'Pankaj', 'ID': 1}

emp_id = emp_dict.get('ID')
emp_role = emp_dict.get('Role')
emp_salary = emp_dict.get('Salary', 0)

print(f'Employee[ID:{emp_id}, Role:{emp_role}, Salary:{emp_salary}]')

출력: 직원[ID:1, 역할:없음, 급여:0]

5. Pandas 모듈에서 발생하는 KeyError

Pandas DataFrame에는 KeyError 예외를 발생시키는 몇 가지 함수가 있습니다.

  • 이름 바꾸기()
  • 드롭()

6. 참고문헌

  • Python 예외 처리 - Python try except
  • KeyError 위키 페이지