ValueError: could not convert string to float

为了在画图的时候导入我原来保存的数据文件出现了这个错误。

值得提一下,保存的时候是这样保存的:

                    with open('data.txt', 'a') as only:
                        only.write(str(data) + ',')

其中,data的格式是一个一维的float的list。

读取的时候是这样读取的:

data = np.loadtxt('data.txt', delimiter=',')

然后报的错误是:

ValueError: could not convert string to float: 

就很奇怪了,虽然存的是str,但是没道理读不出来呀?

查阅了很多博客,原因可能是末尾多了一个字符,空格之类的?因为我的数据过长,数据文件打开就会卡,所以没有验证是不是这个原因。但是可以成功解决的解决办法是:

data = np.genfromtxt('/data.txt', delimiter=',')[:-1]

这个函数比np.loadtxt好的就是它可以考虑缺失值,所以重点在后面的[:-1]。如果数据的维数不是一维,就对应地更改这里,如二维改成[:,:-1]即可。否则会报以下类似的错误:

IndexError: too many indices for array

想看详解可以看看:genfromtxt函数

你可能感兴趣的:(Bug记录)