我loadtxt
在 python 中使用 numpy 的函数来将数据从文本文件加载到数组中。不应该引起任何问题的标准东西。
我在 ubuntu 10.04 下编写了一个脚本来执行此操作,并且它完美地工作。但是我最近升级到 ubuntu 12.04(完全重新安装,而不是升级),现在脚本不起作用。
这是文件中的一行,所有行都具有相同的结构:11 列由制表符分隔:
Av = 0° Bv = 78° 273013 247744 1327 **** Av' = 156° Bv = 78° 259197 247803 1551
我想要第5列和第11列的数据,所以我用这个命令来加载数据:loadtxt(file, usecols=(4,10),delimiter='\t')
但它不起作用,这里 ipython 吐出什么:
In [46]: test=loadtxt(file,usecols=(4,10),delimiter='\t')
--------------------------------------------------------------------------- ValueError
Traceback (most recent call last) <ipython-input-46-20a0923eaf9b> in <module>()
----> 1 test=loadtxt(file,usecols=(4,10),delimiter='\t')
/usr/lib/python2.7/dist-packages/numpy/lib/npyio.pyc in loadtxt(fname, dtype, comments, delimiter, converters, skiprows, usecols, unpack, ndmin)
794 vals = [vals[i] for i in usecols]
795 # Convert each value according to its column and store
--> 796 items = [conv(val) for (conv, val) in zip(converters, vals)]
797 # Then pack it according to the dtype's nesting
798 items = pack_items(items, packing)
ValueError: could not convert string to float:
它曾经与我的旧系统(ubuntu 10.04)一起工作,但我无法在我的新安装(ubuntu 12.04)下从这个文件加载数据。
如果有人能指出我出了什么问题,将不胜感激!