我正在使用python3csv读取器将一些web日志文件读入一个namedtuple。 我无法控制日志文件的结构,并且有各种类型。你知道吗
分隔符是一个空格(),问题是某些日志文件格式在时间戳中放置了一个空格,如下面的日志文件2。然后,CSV读取器将日期/时间戳作为两个字段读取。你知道吗
日志文件1
73 58 2993 [22/Jul/2016:06:51:06.299] 2[2] "GET /example HTTP/1.1"
13 58 224 [22/Jul/2016:06:51:06.399] 2[2] "GET /example HTTP/1.1"
日志文件2
13 58 224 [22/Jul/2016:06:51:06 +0000] 2[2] "GET /test HTTP/1.1"
153 38 224 [22/Jul/2016:06:51:07 +0000] 2[2] "GET /test HTTP/1.1"
日志文件的时间戳通常用方引号括起来,但我找不到将它们作为“引号”处理的方法。除此之外,方括号也不总是用作日志中的引号(请参阅日志后面的[2])。你知道吗
我已经通读了Python 3 CSV Reader documentation,包括关于方言的内容,但是似乎没有任何东西可以处理括在方括号中的内容。你知道吗
我怎样才能自动处理这种情况?你知道吗
这样就可以了,您需要使用正则表达式来代替sep。
例如,此示例将NGinx日志文件解析为
pandas.Dataframe
:编辑:
输出将是一个包含6条信息的元组
相关问题 更多 >
编程相关推荐