使用文件内容在python中创建嵌套列表

Shi*_*wal 0 python parsing list nested-lists

我有一个这种格式的文本文件sample.txt(空格分隔)

12 john E 44 L
13 adam D 78 L
14 tue E 98 L
Run Code Online (Sandbox Code Playgroud)

我想将此文件转换为嵌套列表

table_data = [
        [12, 'john', 'E', 44, 'L'],
        [13, 'adam', 'D', 78, 'L'],
        [14, 'tue', 'E', 98, 'L'],
]
Run Code Online (Sandbox Code Playgroud)

我该怎么做 ?

Ash*_*ary 5

使用str.split和列表理解:

with open('filename') as f:
   table_data = [ line.split() for line in f]
Run Code Online (Sandbox Code Playgroud)

如果要将数字转换为整数,则编写一个处理给定行上每个项目的附加函数:

def func(x):
    try:                                                         
        return int(x)
    except ValueError:
        return x
>>> with open('abc1') as f:
...     table_data = [[ func(x) for x in line.split()] for line in f]
...     
>>> table_data
[[12, 'john', 'E', 44, 'L'],
 [13, 'adam', 'D', 78, 'L'],
 [14, 'tue', 'E', 98, 'L']]
Run Code Online (Sandbox Code Playgroud)