我正在嘗試讀取保存在.txt
檔案中的多個陣列。我在Test.txt
檔案中呈現資料以及當前和預期的輸出。
import re
import numpy as np
import ast
with open('Test.txt') as f:
s = f.readlines()
#print(s)
s = ' '.join(s)
s = re.findall("\((\[[\w\W]*\])\)",s)
s=ast.literal_eval(s[0])
s=np.array(s)
print([s])
中的資料Test.txt
是
[array([[1.7],
[2.8],
[3.9],
[5.2]])]
[array([[2.1],
[8.7],
[6.9],
[4.9]])]
當前輸出為
line 4
[5.2]])]
^
SyntaxError: unmatched ')'
預期的輸出是
[array([[1.7],
[2.8],
[3.9],
[5.2]])]
[array([[2.1],
[8.7],
[6.9],
[4.9]])]
uj5u.com熱心網友回復:
你可以使用這個:
import re
import ast
s = '''
[array([[1.7],[2.8],[3.9],
[5.2]])]
[array([[2.1],
[8.7],
[6.9],
[4.9]])]
'''
s = s.replace('\n', '')
s = s.replace(' ', '')
s = s[1:-1]
s = re.findall("\((\[.*?\])\)",s)
result= []
for i in s:
result.append(ast.literal_eval(i))
print(result)
輸出:
[[[1.7], [2.8], [3.9], [5.2]], [[2.1], [8.7], [6.9], [4.9]]]
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/507405.html
下一篇:在Python中準確讀取文本檔案