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 위키 페이지