【发布时间】:2022-06-29 02:45:15
【问题描述】:
我有一个在 csv 文件中显示为这样的文件。请注意,直到第一个列表之前的所有内容都有自己的列。这些列表包含在它们自己的列中。
0 host name malutil01 ip latency in ms date time 2022-02-09 00:13:15.426941 ['malnode04', '192.168.199.87', 3.2158904244995963, '2022-02-09 00:13:15.426941'] ['malnode05', '192.168.199.97', 3.2169279977755614, '2022-02-09 00:13:15.426941'] ['malnode06', '192.168.199.67', 3.217965339616966, '2022-02-09 00:13:15.426941'] ['malcam01', '192.168.1.23', 3.21898453569746, '2022-02-09 00:13:15.426941'] ['malgate01', '192.168.1.4', 3.2199899280169366, '2022-02-09 00:13:15.426941']
请注意,条目的格式为“主机名 malutil01”、“延迟毫秒”、“日期时间 XXXX....” 请注意,该文件很大,我们会定期读取文件的最后 5 行,其中包含 5 个类似条目。
我想 a) 从包含列表的列中提取数据 b) 用逗号分割这些列表的内容。
到目前为止,数据似乎超出了范围;我可以解析“标题”条目,但在列中提取列表很困难。我试过使用正则表达式,但不知道格式是什么,这并不容易。想法/建议?
【问题讨论】:
-
你怎么不知道格式是什么,你刚才在你的帖子里解释了,你的例子说明了整个事情?
-
看起来您的文件具有 Python 列表的字符串表示形式。因此,您可以使用 ast.literal_eval 来解释它们