python-Numpy csv脚本给出“ ValueError:设置具有序列的数组元素”
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python-Numpy csv脚本给出“ ValueError:设置具有序列的数组元素”,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2338字,纯文字阅读大概需要4分钟。
内容图文
![python-Numpy csv脚本给出“ ValueError:设置具有序列的数组元素”](/upload/InfoBanner/zyjiaocheng/652/f92124bd2286414a820a2f433a428bb3.jpg)
我有一个python脚本,该脚本成功将csv文件加载到2d numpy数组中,然后根据其列和行标题值成功提取所需单元格的值.出于诊断目的,我让脚本在将数据矩阵放入numpy数组之前先将其打印出来.当基础csv文件中的数据包含所有行/列的值时,脚本将起作用.问题是,当我在csv文件上运行脚本时会引发错误,该文件显然在csv文件的末尾有几个空行/列.我试图通过在记事本中打开csv文件并删除尽可能多的删除文件末尾的方法来解决此问题.记事本让我删除了最后一行,但没有指出有任何空列.在更深入地检查python打印输出和基础数据结构之间的关系之后,我发现python打印命令说数组的末尾有两个空列.无论如何,在编辑csv文件后,我在运行脚本时仍会打印出相同的数据,并且仍然抛出相同的错误,就像我没有从csv文件末尾删除空行一样.我检查了是否保存了csv文件,打开和关闭了csv文件几次,并关闭和重新打开了python几次,但是错误仍然存??在:
这是我的问题:
如何修改下面的脚本以避免此错误?
这是我上面提到的功能:
def GetHSD_alpha(NumberOfColumnMeans,dfResid):
dirname=os.path.dirname(os.getcwd())
resources=os.path.join(dirname,'resources')
inputfile=os.path.join(resources,'CriticalValuesOfTukeysHSD_a_0_01.csv')
separator=','
ColumnIndex=NumberOfColumnMeans
RowIndex=dfResid
cast = p.cast
data = [[] for dummy in xrange(13)]
for line in open(inputfile, 'r'):
fields = line.strip().split(separator)
for i, number in enumerate(fields):
data[i].append(number)
print 'data HSD alpha is: ',data
time.sleep(2)
CriticalValuesArray=p.array(data)
HSD_alpha_0_01=CriticalValuesArray[ColumnIndex,RowIndex]
return HSD_alpha_0_01
另外,作为参考,这是打印引发错误的数据的结果的摘要版本.请注意最后的空元素,在运行脚本之前,我似乎无法手动将其从csv文件中消除:
数据HSD alpha是:[[”,’5′,’6′,’7′],[‘2′,’5.7′,’5.24′,’4.95’],[‘3′,’6.98’, ‘6.33’,’5.92′],[’11’,’10.48′,’9.3′,’8.55′],[],[]]
另外,作为参考,这是我出于诊断目的导入到脚本中的另一个csv文件中打印数据的结果的摘要版本.以下打印输出对应的数据不会导致脚本引发错误:
数据HSD alpha为:[[”,’1′,’2′,’3′],[‘1′,’4052′,’98 .49′,’34 .12’],[‘2′,’4999′, ’99 .01′,’30.81’],[‘3′,’5403′,’99.17′,’29.46’]]
同样,当我在记事本中打开基础的csv文件时,似乎没有任何空的列或行,并且我已经仔细检查了这些数据文件.
最后,我想象空行/列的数量可能会变化,因此任何解决方案都需要能够处理空行/列的变量数量.
先感谢您.
解决方法:
找到了答案.
我需要更改以下代码行:
data = [[] for dummy in xrange(11)]
xrange需要设置为11而不是13.
简单的答案,却花了很多时间.
现在该线程已回答/完成.
内容总结
以上是互联网集市为您收集整理的python-Numpy csv脚本给出“ ValueError:设置具有序列的数组元素”全部内容,希望文章能够帮你解决python-Numpy csv脚本给出“ ValueError:设置具有序列的数组元素”所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。