【ValueError: could not convert string to float:‘xx‘ 解决方法记录】

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
    

猜你喜欢

转载自blog.csdn.net/crist_meng/article/details/126499422