使用csv文件时,无法将字符串转换为浮点错误



我正试图将csv文件的两个colun加载到python中的一个数组中。然而,我得到了:

ValueError: could not convert string to float: ''.

我已经附上了实现的代码片段和我试图存储在数组中的csv文件。

import csv

col1 = []
col2 = []
path = r'C:UsersangelOneDriveDocumentsCSV_FILES_NV_LAB1111 x 30.csv'
with open(path, "r") as f_in:
reader = csv.reader(f_in)
next(reader)  # skip headers
for line in reader:
col1.append(float(line[0]))
col2.append(float(line[1]))
print(col1)
print(col2)

CSV文件中有哪些值?如果无法将值转换为floats,则将获得ValueError。例如,如果您的CSV文件如下所示:

ColName,ColName2
abc,def
123,45.6
g,20

由于CCD_ 3无法转换为浮点值,因此在循环的第一次迭代中将引发错误。但是,如果CSV文件中的所有值都是数字:

ColName, ColName2
1,2
123,45.6
100,20

则不会引发错误。

如果CSV文件中有一些数值和一些非数值,可以通过在循环中包含try...except块来省略包含非数值的行:

for line in reader:
try:
float_1, float_2 = float(line[0]), float(line[1])

# If either of the above conversions failed, the next two lines will not be reached
col1.append(float_1)
col2.append(float_2)
except ValueError:
continue  # Move on to next line

也许您忘记添加.split(',')了?现在,line[0]line[1]只是取行的第一个和第二个字符。

相关内容

  • 没有找到相关文章

最新更新