2015-04-18 57 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]]