首页 > 解决方案 > 如何将包含列表列表的 Python 文本文件转换为列表列表?

问题描述

这看起来很简单,但我在网上找不到任何替代解决方案。我有一个像这样的文本文件:

[[[0, 0, 'no'], [3, 0, 1]], [[4, 4, 'coming']]]
[[[0, 0, 'yes'], [2, 0, 2], [2, 2, '15-19']], [[9, 4, 'not coming']]]

如何以遵循相同逻辑的方式解析此文件:

# Read in file
# Work with the first line, or list, of lists 
    # Do this by putting it into a temporary list of lists variable 

我问的可能吗?我只是想节省自己处理一个可怕的文本文件的时间,这样会更容易。

标签: pythonparsing

解决方案


您可以使用ast.literal_eval解析文件:

from pprint import pprint
from ast import literal_eval

data = []
with open('<your file.txt>', 'r') as f_in:
    for line in f_in:
        data.extend(literal_eval('[' + line + ']'))

pprint(data)

印刷:

[[[[0, 0, 'no'], [3, 0, 1]], [[4, 4, 'coming']]],
 [[[0, 0, 'yes'], [2, 0, 2], [2, 2, '15-19']], [[9, 4, 'not coming']]]]

推荐阅读