ValueError: could not convert string to float:‘xx’ 解决方法记录
1.问题描述
-
读取.csv文件中的列时,读取进来的值是string类型,尝试用循环把list里面的字符串转换为float的时候出现了这个问题:
ValueError: could not convert string to float
大概是说:数值错误:无法把字符串转换为浮点数
-
查阅了网上其他朋友的解决方法之后,得出原因在于:我的csv文件中的数值间不是一个空格,可能是一个“tab"或多个空格导致的
2.解决方法
-
综上所述,直接使用正则表达式去做切分,效果会更好,如下所示:
import re def loaddata(filename): dataset=[] with open(filename) as txtDate: lines=txtDate.readlines() i=0 for line in lines: lineData=re.split('\s+',line.strip()) dataset.append(lineData) i+=1 return dataset