String isnumeric()无法将我的字符串识别为数字

String isnumeric()无法将我的字符串识别为数字,string,numeric,isnumeric,String,Numeric,Isnumeric,我有一些从维基百科复制粘贴的数据,正在清理。我想将所有数字字符串转换为浮点数。出于某种原因,str.isnumeric()无法识别数字字符串,但第一个字符串“100.0”除外 for n,i in enumerate(PercentageWorldEmissions): if str.isnumeric(i): PercentageWorldEmissions[n] = float(i) else: continue 输出: ['% CO2 emissions by count

我有一些从维基百科复制粘贴的数据,正在清理。我想将所有数字字符串转换为浮点数。出于某种原因,str.isnumeric()无法识别数字字符串,但第一个字符串“100.0”除外

for n,i in enumerate(PercentageWorldEmissions):
if str.isnumeric(i):
    PercentageWorldEmissions[n] = float(i)
else:
    continue
输出:

['% CO2 emissions by country', 100.0, '29.55', '14.95', '9.57', '6.56', '4.95', '3.58', '2.15', '1.74', '1.73', '1.71', '1.58', '1.40', '1.38', '1.38', '1.28', '1.27', '1.16', '1.15', '1.10', '0.99', '0.94', '0.91', '0.84', '0.78', '0.76', '0.70', '0.68', '0.66', '0.64', '0.63', '0.56', '0.56', '0.55', '0.53', '0.44', '0.44', '0.40', '0.39', '0.34', '0.31', '0.28', '0.27', '0.27', '0.26', '0.25', '0.22', '0.22', '0.21']
其中PercentageWorldEmissions看起来与输出相同,但元素100.0除外,该元素最初为“100.0”

为什么isnumeric无法识别其他字符串?是否有我看不到的隐藏字符?我尝试了在另一页上看到的repr()方法,但没有发现任何东西

我也试过isdigit,isalnum,isdecimal都没用。。。非常感谢您的帮助

我不认为元素100.0最初是“100.0”,因为
'100.0'
也不会被
str.isnumeric()
识别。这是因为字符
(句号)没有Unicode数字属性。我认为
100.0
最初是
'100'
,它
是数字的

你的问题可以解决。G这样:

for n, i in enumerate(PercentageWorldEmissions):
    try:
        PercentageWorldEmissions[n] = float(i)
    except ValueError:
        continue