字符串到数值数组

Pep*_*oro 2 python arrays string numpy eval

我从一个程序生成一堆数据并将其存储在一个文件中。文件内容的一个例子是

[[1, 2, 3], [4, 5, 6]]
Run Code Online (Sandbox Code Playgroud)

如您所见,数据具有数组的确切形式。后来在另一个程序中,我想读取数据并使用它。我在用

text_file = open('DataFile.txt')
lines = text_file.readlines() #We have only 1 line but this doesn't matter
Run Code Online (Sandbox Code Playgroud)

变量lines是一个包含 1 个元素的数组,即字符串[[1, 2, 3], [4, 5, 6]]。我希望这个字符串再次成为一个数字数组。只是使用相同的分隔符等。我该怎么做?

小智 5

您可以使用ast.literal_eval

>>> from ast import literal_eval
>>> mystr = '[[1, 2, 3], [4, 5, 6]]'
>>> x = literal_eval(mystr)
>>> x
[[1, 2, 3], [4, 5, 6]]
>>> type(x)
<type 'list'>
>>>
Run Code Online (Sandbox Code Playgroud)