0
我很難解析包含在兩個變量之間的矩陣。下面是我試圖提取到numpy的陣列的矩陣的一個例子:如何解析兩個變量之間的信息到矩陣中?
</MO Number>
4.224609607748e+00 4.085857782359e+00 1.273383604708e+00 -6.802974691818e-03
9.099528133406e-03 6.867550219273e-03 5.859231188647e-03 3.684441849425e-03
5.836775773317e-04 -2.316776085880e-16 -1.456850991492e-16 -2.307897076406e-17
4.140895678156e-03 2.603906355541e-03 4.125025757803e-04 -1.739011495381e-03
-1.681896173898e-03 -5.241735641835e-04 -1.739011375813e-03 -1.681896058258e-03
-5.241735281434e-04
<MO Number>
這裏是我所編寫的代碼:
def function3(start, end):
lines = f.readlines()
config_found = False
var = []
for line in lines:
if line.strip() == end:
config_found = False
elif config_found:
i = line.rstrip()
var.append(i)
elif line.strip() == start:
config_found = True
var1 = [elem.strip() for elem in var]
var2 = var1[1:-1]
return var2
with open(filename, 'r') as f:
mo1=np.array(function3(m['start1'],m['end1']))
其中啓動1和END1變量表示的標頭。 然而,這個返回如下:
array([ '4.224609607748e+00 4.085857782359e+00 1.273383604708e+00 -6.802974691818e-03',
'9.099528133406e-03 6.867550219273e-03 5.859231188647e-03 3.684441849425e-03',
'5.836775773317e-04 -2.316776085880e-16 -1.456850991492e-16 -2.307897076406e-17',
'4.140895678156e-03 2.603906355541e-03 4.125025757803e-04 -1.739011495381e-03',
'-1.681896173898e-03 -5.241735641835e-04 -1.739011375813e-03 -1.681896058258e-03',
'-5.241735281434e-04'])
看來,我的代碼存儲矩陣作爲一個單一的元素,每一行的時候我真的喜歡它給每個浮點數存儲爲一個單獨的元素,通過分離一個逗號。所以,這樣的事情:
[ '4.224609607748e+00', '4.085857782359e+00', '1.273383604708e+00' '-6.802974691818e-03',
'9.099528133406e-03', '6.867550219273e-03', '5.859231188647e-03' '3.684441849425e-03',
等 任何幫助將非常感激我如何能修改我的代碼,甚至是完全不同的方法解決這個問題。
謝謝!