python - 如何将包含列表列表的 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
我问的可能吗?我只是想节省自己处理一个可怕的文本文件的时间,这样会更容易。
解决方案
您可以使用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']]]]
推荐阅读
- iis - IIS 10 中 IIS 高级日志记录功能的替代方案
- javascript - 将两个或多个数据绑定到 VueJs 中的表单输入
- java - 如何验证在 Selenium Java 中数据库驱动的 Web 应用程序的动态内容
- xamarin - 在 xamarin ios 中启动失败的输入字符串格式不正确
- c# - C#获取C#中某类对象的所有属性
- python - 使用交叉表时对值进行排序和删除
- git - 如何使用`git svn dcommit`而不是整个提交集将特定提交推送到svn?
- android - 仅考虑Android中一天中的一天时间计算2个给定时间戳之间的时间差?
- javascript - Google Cloud Functions 结束时:使用 Axios 时超时
- c# - 如何在特定时间更改标签文本