Python:将文件加载到numpy数组时出错
我有一个类似这样的文件,它有大约80000行:Python:将文件加载到numpy数组时出错,python,arrays,numpy,Python,Arrays,Numpy,我有一个类似这样的文件,它有大约80000行: -1.1361818e-001 4.1730759e-002 -9.8787775e-001 9.7195663e-002 -1.1361818e-001 4.1730759e-002 -9.8787775e-001 9.7195663e-002 -1.1361818e-001 4.1730759e-002 -9.8787775e-001 9.7195663e-002 -1.1361818e-001 4.1730759e-002 -9
-1.1361818e-001 4.1730759e-002 -9.8787775e-001 9.7195663e-002
-1.1361818e-001 4.1730759e-002 -9.8787775e-001 9.7195663e-002
-1.1361818e-001 4.1730759e-002 -9.8787775e-001 9.7195663e-002
-1.1361818e-001 4.1730759e-002 -9.8787775e-001 9.7195663e-002
我希望使用numpy和scikit,并希望将文件写入数组,使其看起来像这样:
array = [[-1.1361818e-001,4.1730759e-002,-9.8787775e-001,9.7195663e-002],[-1.1361818e-001 ,4.1730759e-002,-9.8787775e-001,9.7195663e-002]...]
我在上找到了以下示例
我试着把它改编成我的例子:
import numpy as np
a = np.loadtxt("/path2file", delimiter="\t")
print a
我得到了错误“ValueError:invalid literal for float():-1.1361818e-001 4.1730759e-002-9.8787775e-001 9.7195663e-002”
我真的被困在这里,非常感谢你的帮助。提前多谢 这对我很有用:
import numpy as np
a = np.loadtxt("a.txt")
print a
输出:
[[-0.11361818 0.04173076 -0.98787775 0.09719566]
[-0.11361818 0.04173076 -0.98787775 0.09719566]
[-0.11361818 0.04173076 -0.98787775 0.09719566]
[-0.11361818 0.04173076 -0.98787775 0.09719566]]
这对我很有用:
import numpy as np
a = np.loadtxt("a.txt")
print a
输出:
[[-0.11361818 0.04173076 -0.98787775 0.09719566]
[-0.11361818 0.04173076 -0.98787775 0.09719566]
[-0.11361818 0.04173076 -0.98787775 0.09719566]
[-0.11361818 0.04173076 -0.98787775 0.09719566]]
只需将
分隔符
字段保留为空,然后它将以任意空格分隔<代码>\t仅为空白字符:
演示:
>>> import numpy as np
>>> from StringIO import StringIO
>>> c = StringIO("1.234\t1.23456 1.234234")
>>> np.loadtxt(c)
array([ 1.234 , 1.23456 , 1.234234])
发件人:
只需将
分隔符
字段保留为空,然后它将以任意空格分隔<代码>\t仅为空白字符:
演示:
>>> import numpy as np
>>> from StringIO import StringIO
>>> c = StringIO("1.234\t1.23456 1.234234")
>>> np.loadtxt(c)
array([ 1.234 , 1.23456 , 1.234234])
发件人:
显然,分隔符不是选项卡(
“\t”
)。只需使用默认分隔符(也就是说,不要指定它),即空白,您就可以了。显然,您的分隔符不是选项卡(“\t”
)。只需使用默认的分隔符(也就是说,不要指定它),即空白,就可以了。