Python中的“ ValueError:无法将字符串转换为浮点数”

时间:2019-06-09 15:47:33

标签: python

在尝试实现下面提到的代码时,出现“无法将字符串转换为浮点数”错误。 在代码中,我基本上是在读取CSV文件,并尝试将字符串值(所有值都是数字)转换为float。

import csv
def loadCsv(filename):
    lines = csv.reader(open(filename, "rt"))
    dataset = list(lines)
    for i in range(len(dataset)):
        dataset[i] = [float(x) for x in dataset[i]]
    return dataset

filename = 'Pima Diabetes.csv'
dataset = loadCsv(filename)
print('Loaded data file {0} with {1} rows').format(filename, len(dataset))

2 个答案:

答案 0 :(得分:0)

数据集的第一行包含要素的名称,它们基本上是“字符串”。根据您的代码,您正在将数据集中的每一行转换为float,其中还包括要素名称。您想要的是让代码从第二行中读取行。

答案 1 :(得分:0)

在大多数情况下,使用csv和open很难。您可以简单地

#pip install pandas
import pandas as pd

# read csv to a data frame 
# sep is default to ','. You can change with sep='\t' for tab,
df = pd.read_csv('YOUR_CSV.csv')

# print the number of rows and columns
print(df.shape)