我有两个文本文件,其中写有矩阵(不是numpy矩阵,所以它是一个列表列表)。这些矩阵以字符串格式编写,因此文本文件如下所示: [[1,2,3],[3,4,5],[6,7,8]],[[3,3,3],[5,6,7],......
我想使用python从文本文件中读回这个矩阵。我无法使用numpy读取ValueError: could not convert string to float
有没有这样做?如果我首先将矩阵编写为numpy矩阵会更容易(我需要更改前一个程序的代码,并且只是想知道当存储为矩阵时是否存在加载矩阵的python方式文本文件中的字符串)?
答案 0 :(得分:2)
您可以使用ast
模块:
import ast
strArray = "[[1,2,3],[3,4,5],[6,7,8]]"
# evaluates the array in string format and converts it to a python array object
array = ast.literal_eval(strArray)
请注意:
对于像您这样的多个嵌套数组,literal_eval
很可能将字符串转换为具有嵌套数组作为元素的元组。在使用此模块时请记住这一点。