ValueError: could not convert string to float: '.' Python
ValueError: could not convert string to float: '.' Python
所以我试图确保我在 csv 文件中的所有值都转换为浮点数。 csv 文件中每个单元格中的值只是数字,例如“0.089”“23”。出于某种原因,当我尝试 运行 代码时出现以下错误,“ValueError: could not convert string to float: '.' “
我真的不明白为什么程序没有正确读取 csv 文件中的数字。
def loadCsv(filename):
with open('BreastCancerTumor.csv','r') as f:
lines = f.readlines()[1:]
dataset = list(lines)
for i in range(len(dataset)):
dataset[i] = [float(x) for x in dataset[i]]
return dataset
您永远不会将行拆分为逗号分隔的字段。因此,您正在遍历行中的字符,而不是字段,并尝试将每个字符解析为浮点数。到达 .
字符时出现错误。
使用 csv
库读取文件,它会将每一行拆分为字段列表。
import csv
def loadCsv(filename):
with open('BreastCancerTumor.csv','r') as f:
f.readline() # skip header
csvf = csv.reader(f):
dataset = [[float(x) for x in row] for row in csvf]
return dataset
所以我试图确保我在 csv 文件中的所有值都转换为浮点数。 csv 文件中每个单元格中的值只是数字,例如“0.089”“23”。出于某种原因,当我尝试 运行 代码时出现以下错误,“ValueError: could not convert string to float: '.' “ 我真的不明白为什么程序没有正确读取 csv 文件中的数字。
def loadCsv(filename):
with open('BreastCancerTumor.csv','r') as f:
lines = f.readlines()[1:]
dataset = list(lines)
for i in range(len(dataset)):
dataset[i] = [float(x) for x in dataset[i]]
return dataset
您永远不会将行拆分为逗号分隔的字段。因此,您正在遍历行中的字符,而不是字段,并尝试将每个字符解析为浮点数。到达 .
字符时出现错误。
使用 csv
库读取文件,它会将每一行拆分为字段列表。
import csv
def loadCsv(filename):
with open('BreastCancerTumor.csv','r') as f:
f.readline() # skip header
csvf = csv.reader(f):
dataset = [[float(x) for x in row] for row in csvf]
return dataset