0
我是python初學者,我試圖從我的數據文件中提取矩陣。該文件包含有關測量的一些參數的信息,例如。文字+數字。我想提取位於單詞「#UBI:」和「#translation」之間的矩陣。該文件包含數百個這些矩陣。因此,這裏是我的代碼,我試圖運行 - 它給了我一定的效果,但它似乎有一個無限循環 - 它從未停止:在文本文件中查找矩陣
inF = open("C:/Python27/allgrainmap3.map")
line=inF.readline()
while True:
inF = open("C:/Python27/allgrainmap3.map")
outF = open("matrices.txt", "w")
keepCurrentSet = False
for line in inF:
if line.startswith("#translation"):
keepCurrentSet = False
if keepCurrentSet:
outF.write(line)
if line.startswith("#UBI:"):
keepCurrentSet = True
if not line: break
inF.close()
outF.close()
的文件塊的樣子:
translation 4141 14141
bla bla
bla bla
UBI: 1 2 3 4 5 6 7 8 9 # this is the matrix I want
翻譯... 在adition中 - 我只想要我的矩陣ei的最後一列包含(3 6 9)的矢量在這裏。
非常感謝,第一件事幫了我。但第二個 - 與此向量無法正常工作。它不會將數字視爲數字,而是視爲字符串,我不知道爲什麼。因此,對於9 :: 3,它需要每個數字的第三位數字......你認爲有可能有一種方法,例如如何將這些數字寫入輸出文件?這可能有助於解決這個問題。 – user3041107
編輯。你仍然必須適應不同的矩陣大小。 – zlr
這也沒有工作,不知道爲什麼。對我來說,最簡單的解決方案就是打印該行的最後11個字符(因爲數字有9位數字,如:-1,389348934)。所以如果我只打印最後11個字符,我也有數字和符號。但我不知道該怎麼做。 – user3041107