【发布时间】:2017-10-05 23:43:56
【问题描述】:
我有一个文件,如下图。我计划使用 itertools.groupby 创建一个包含块数据的列表列表,但我很难找出将行拆分为列表块的关键部分。
有什么想法吗?
with open(infile) as f:
blocks = []
for key, val in itertools.groupby(f, lambda x:):
if key:
blocks.append(list(val))
输入:
Timestamp : 2017-02-17 06:41:33.163000 EST
Event : fabric
DataFields : Zen
Timestamp : 2017-02-17 06:41:33.163000 EST
Event : application
DataFields : Flood1
Timestamp : 2017-02-17 06:41:33.163000 EST
Event : fabric
DataFields : Flood2
Timestamp : 2017-02-17 06:41:33.163000 EST
Event : application
DataFields : Flood3
输出: 应该是列表列表
[列表1,列表2,列表3,列表4]
list1 = [Timestamp : 2017-02-17 06:41:33.163000 EST, Event : fabric, DataFields : Zen]
list2 = [Timestamp : 2017-02-17 06:41:33.163000 EST, Event : application, DataFields : Flood1]
list3 = [Timestamp : 2017-02-17 06:41:33.163000 EST, Event : fabric, DataFields : Flood2]
list4 = [Timestamp : 2017-02-17 06:41:33.163000 EST, Event : application, DataFields : Flood3]
【问题讨论】:
-
我没有看到你在这里分组...
-
你不需要那个功能。您需要学习一次将三行文件解析为单个对象
-
@cricket_007:想要基本解析文件,并将它们划分为列表块
标签: python