我有一个以这种方式排序的文本文件:
1,1,1,
1,1,1,
1,1,1,
我的 Python 脚本会将文本文件中的每一行读取为字符串,基于逗号分隔,然后将其转换为十进制数以进行绘图和分析。我想创建一个由合并行组成的单个数组,如下所示:
[1,1,1
1,1,1
1,1,1]
我已经尝试使用 numpy 中的 vstack 方法,但似乎文本文件中有一个我无法摆脱的空白。
>>>
[735019.6277, 0.0, 1.0178, 3.0, -2.104]
[735019.6278, 0.0, 15.361, 3.0, -2.078]
[735019.628, 0.0, 29.579, 3.0, -2.0682]
[]
由于这个空间,我无法将每一行加入一个数组。
这是代码:
from numpy import *
from scipy import *
file = open("results_test.txt", 'r')
line = file.readline()
data = line.split(',')
data[-1] = 0
table = data
x = 0
while (x < len(table)):
table[x] = float(table[x])
x = x+1
del(table[-1])
print table
while line:
line = file.readline()
data = line.split(',')
data[-1] = 0
x = 0
while (x < len(data)):
data[x] = float(data[x])
x = x+1
del(data[-1])
print data
table = vstack((table,data))
file.close()
这是错误:
Traceback (most recent call last):
File "C:\Python27\read_txt.py", line 26, in <module>
table = vstack((table,data))
File "C:\Python27\lib\site-packages\numpy\core\shape_base.py", line 226, in vstack
return _nx.concatenate(map(atleast_2d,tup),0)
ValueError: array dimensions must agree except for d_0
关于这个空间是什么以及如何摆脱它以便我可以使用 vstack 方法的任何想法?