2015-04-18 56 views
0

我的文本文件由全部在同一行(即没有缩进)的数组序列组成。我试图把这些数组,并把它们放入一个Python列表。将数组的文本文件转换为Python列表

的文本文件是这样的:

[1,2,3,4],[1,2,3,5],[1,2,3,6],[1,2,3,7],[1,2,3,8],[1,2,3,9],[1,2,3,10]........ 

我想借此做出列表,如清单:

[[1,2,3,4],[1,2,3,5],[1,2,3,6],[1,2,3,7],[1,2,3,8],[1,2,3,9],[1,2,3,10]] 

我尝试使用read方法,但所有我得到是一个巨大的字符串。

+1

你能分享你如何得到了巨大的字符串,它的样子。 –

回答

1

首先,read()在您的文件,并将其保存到变量(相当于本):

a = '[1,2,3,4],[1,2,3,5],[1,2,3,6],[1,2,3,7],[1,2,3,8],[1,2,3,9],[1,2,3,10]' 

如果你不想使用eval(),你可以使用更安全的ast.literal_eval()

import ast 
list(ast.literal_eval(a)) 

如果你不希望使用任何类型的评价,你可以使用内置插件和字符串方法:

[list(map(int, line.split(','))) for line in a.strip('[]').split('],[')] 

这些都将产生如下:

[[1, 2, 3, 4], [1, 2, 3, 5], [1, 2, 3, 6], [1, 2, 3, 7], [1, 2, 3, 8], [1, 2, 3, 9], [1, 2, 3, 10]]