如何从Python中的KeyError中提取错误数据

问题描述 投票:0回答:1

我有一个 Excel 文件,我使用

pandas
从中检索数据。我有一本字典,其中的键与我从 Excel 文件的单元格中获取的字符串相同。例如,我有一个包含字符串
Heattreatment 1
的 Excel 单元格。在我的字典中,我有一个键值对:
"Heattreatment 1": 1
。问题是,如果我的 Excel 文件中有拼写错误,例如,如果我写的是
Heattreatment 1
而不是
Heattreatment 123
,而我的字典中不存在这样的键,我会得到
KeyError: 'Heattreatment 123'

有没有办法提取此消息,以便我会说:

error_data = #something
print(error_data)

输出将是:

'Heattreatment 123'

我尝试过:

try:
    # some code
except Exception as e:
    print(e)

但这不起作用。

python-3.x error-handling keyerror
1个回答
0
投票

如果您专门捕获 KeyError 而不是一般的异常,那么您的最后一个示例应该可以工作。如果可能,您应该捕获尽可能具体的错误。

try:
    # some code
except KeyError as error:
    print(error)

您还可以使用字典中内置的 .get() 方法,定义默认值并随后检查它。

value = dictionary.get("MyKey", None)
if value is None:
    # Handle as if it was an error

希望这有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.