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函数

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值