AttributeError:'str'对象没有属性'isnumeric'

AttributeError:'str'对象没有属性'isnumeric',第1张

AttributeError:'str'对象没有属性'isnumeric'

str.isnumeric()
仅在Python 3上可用。该错误表明您使用的是Python 2,而只有Python
2
unipre.isnumeric()
存在。

您应该真正使用

str.isdecimal()
或更好地使用 异常处理

def p2f(x):    try:        return float(x.strip('%'))/100    except ValueError:        return 0.0 if x in ('SUPP', 'NEW', 'LOWCOV', 'NA', '') else x

.isnumeric()
匹配
float()
不接受的BMP中的430个Unipre代码点,并且有些代码点
.isdigit()
返回true也不能转换

您可以生成自己的表进行检查:

for i in range(2 ** 16):    c = chr(i)    if c.isnumeric() or c.isdigit() or c.isdecimal():        try: f = float(c)        except ValueError: f = '<not convertible>'        di, de, nu = ('u2705' if test() else 'u274c' for test in (c.isdigit, c.isdecimal, c.isnumeric))        print(f'{c!a:<6} {c}tdigit: {di}   decimal: {de}   numeric: {nu}  float: {f}')

产生如下输出:

'0'    0    digit: ✅   decimal: ✅   numeric: ✅  float: 0.0'1'    1    digit: ✅   decimal: ✅   numeric: ✅  float: 1.0'2'    2    digit: ✅   decimal: ✅   numeric: ✅  float: 2.0'3'    3    digit: ✅   decimal: ✅   numeric: ✅  float: 3.0'4'    4    digit: ✅   decimal: ✅   numeric: ✅  float: 4.0'5'    5    digit: ✅   decimal: ✅   numeric: ✅  float: 5.0'6'    6    digit: ✅   decimal: ✅   numeric: ✅  float: 6.0'7'    7    digit: ✅   decimal: ✅   numeric: ✅  float: 7.0'8'    8    digit: ✅   decimal: ✅   numeric: ✅  float: 8.0'9'    9    digit: ✅   decimal: ✅   numeric: ✅  float: 9.0'xb2' ²    digit: ✅   decimal: ❌   numeric: ✅  float: <not convertible>'xb3' ³    digit: ✅   decimal: ❌   numeric: ✅  float: <not convertible>'xb9' ¹    digit: ✅   decimal: ❌   numeric: ✅  float: <not convertible>'xbc' ¼    digit: ❌   decimal: ❌   numeric: ✅  float: <not convertible>'xbd' ½    digit: ❌   decimal: ❌   numeric: ✅  float: <not convertible>'xbe' ¾    digit: ❌   decimal: ❌   numeric: ✅  float: <not convertible>

并且您会发现只有该

decimal
列的所有不可转换代码点都有叉号。

如果要

isdecimal()
在Python 2中使用,则必须先将字节字符串解码为Unipre。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5662294.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存