首页 > 解决方案 > 问题:ValueError:无法将字符串转换为浮点数:

问题描述

我意识到这个问题已经被问过很多次了。无论如何,我仍然不知道如何解决我的问题。

我想要做的是打开一个 csv 文件以导入数字序列。我的主要问题是出现错误“ValueError:无法将字符串转换为浮点数:”,因为 Python 显然无法将 '\n' 转换为浮点数。由于我需要分离序列以区分数字序列(表示图像像素的值),我不知道该怎么做。

这是我写的程序:

import numpy
importmatplotlib.pyplot
%matplotlib inline
data_file=open(r"filepath\filename.csv",'r')

data_list=data_file.readlines()
all_values=data_list[0].split(',')
image_array=numpy.asfarray(all_values[1:]).reshape((28,28))

所以我创建了一个文件和一个列表来读取它并区分序列。我现在的目标是绘制一个 28x28 的矩阵,它应该显示一个书面数字(我正在构建一个学习理解人类书面数字的神经网络)但是,当我运行最后一行代码时,我得到了那个错误。

非常感谢您的建议,因为我目前被困在这里。

标签: pythonnumpypython-importvalueerroropencsv

解决方案


虽然我不确定,但是当你拆分它时问题就开始了。因为拆分后它将转换为一个列表,所有元素都用引号括起来,即转换为字符串。所以我认为你需要先将它们转换为浮动。


推荐阅读