正在 Python 中将日志文件解析并格式化为结构化格式

Parsing and Formatting log file into Structured format in Python

我有一个包含 1000 多行的日志文件,格式如下

<date> <time 1> {serial_no 1} {event:...} <message 1> 
<date> <time 2> {serial_no 2} {event:...} <message 2> 
<date> <time 3> {serial_no 3} {event:...} <message 3> 
..
..
..
<date> <timen> {serial_non} {event:...} <message n>

我只需要提取特定消息及其相应的日期和时间,并将它们存储在文件中。
还需要提取那些包含从命令行输入的关键字的消息。
命令行参数可以接受任意数量的关键字。
示例:>python file.py -k <键 1> -k <键 2> -k <键 3> 输出必须包含所有那些带有输入关键字和相应时间和日期的消息。 \ 在给出输出时需要将日志文件中的特定消息格式化为简单的句子,因为在日志文件中,消息句子很复杂且难以理解。
想知道python中有哪些开源库可以把上面的日志文件格式化成结构化格式

你不会得到一个为你做一切的图书馆。

但是 csv 库确实包含很多很好的分隔符分割工具,这些工具可以让您通过 .py 中自己的代码解析数据以供查询。

或者您可以使用 pandas,将其加载到数据帧中并查询数据帧(同样,您可以在 .py 中自定义查询)。

使用 read_csv

将文件读入 pandas 见下文

https://pandas.pydata.org/docs/reference/api/pandas.read_csv.html