PythonのKeyError例外処理の例

1. PythonのKeyError例外とは何ですか?

PythonのKeyErrorは、存在しないキーにアクセスしようとしたときに発生します。これは組み込みの例外クラスの一つであり、dictやキーと値のペアを持つオブジェクトを使用する多くのモジュールで発生します。

2. Pythonの辞書キーエラー

プログラムで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/scdev/Documents/PycharmProjects/hello-world/scdev/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'

辞書のキーにアクセスする際に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. パンダモジュールによって発生するKeyError

Pandas DataFrameには、KeyError例外を発生させるいくつかの機能があります。

  • rename()
  • drop()

6.引用

  • Python Exception Handling – Python try except
  • KeyError Wiki Page
コメントを残す 0

Your email address will not be published. Required fields are marked *