我刚刚发现功能skip_footer
的kwarg pandas.read_excel()
在版本0.23.0中已弃用,现在称为skipfooter
。看来skip_footer
被默默地忽略了,这使得找出为什么我的代码停止按应有的工作变得更加困难。
编辑:
好的,我撒谎了:我实际上在使用pandas.ExcelFile.parse()。文档建议它们采用相同的参数,但是在源代码中似乎存在一些细微差别,包括此参数。据我所知,我并没有抑制或忽略警告。
当我使用不正确的kwarg时,是否可以通过警告或异常来提醒我?
最佳答案
查看pandas.ExcelFile.parse()
源代码,它不检查skip_footer
中的**kwds
,也不检查其使用的基础方法和函数。
因此,它确实会默默地忽略大多数未知的关键字。
尽管Python抱怨缺少位置参数,但它无法检查关键字参数。 AFAIK,该语言没有内置机制可以实现这一点。
可以编写单个函数来拒绝无效的关键字:
def kwtest(**kwds):
allowed = {'spam', 'eggs', 'cheese'}
invalid = set(kwds.keys()) - allowed
if invalid:
raise ValueError(f'invalid keyword arguments {invalid}')
(旧答案)
根据熊猫的documentation和code,
skip_footer
关键字参数仍然存在。但是,
read_excel
函数用@deprecate_kwarg
的skip_footer
装饰器标记。据我所知,使用skip_footer
关键字参数应该引发FutureWarning
异常。您是否抑制或忽略警告?
关于python - 如何在python中检测不正确的kwarg名称,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57349714/