Part 1:
最开始出现的问题在于map对象前面没有加list,后来转化为list又报错:
ValueError: could not convert string to float
原因是数据中含有一些不能转化为数据的字符。
后来发现原来原始数据读进来每一行是这样的
['1', '.', '0', '1', '.', '0', '3', '4', '4', '9', '3', '6', '5', '1', '3', '5', '8', '6'],
每一个数字都被拆开了。
最开始我的解决方案是认为数据文件生成的时候就有问题,操作了一会儿发现完全可以从上面数据读取的形式想办法解决,既然它们被拆开了那我就可以把他们先拼好,然后再按照‘,’拆开。
Part 2:
后来又出现了问题,使用二值法排查发现有一个列表是这样样的:
song_info = ['1.0,,4,18331,3,281', '1.0,0.95,4,18331,3,281']
也就是说存在控制,对于这种情况,那就是原始txt生成就有问题。
我原来采用的是用长度来filter,这么一看发现长度筛选不对,应该看是否有空值,于是就按照这个思路,重新生成了一个txt文件,这下就可以了。