【发布时间】:2026-01-04 17:45:01
【问题描述】:
我正在使用 Python 3 CSV 阅读器将一些网络日志文件读入命名元组。 我无法控制日志文件结构,并且有多种类型。
分隔符是一个空格( ),问题是某些日志文件格式在时间戳中放置了一个空格,如下面的日志文件 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,包括有关方言的内容,但似乎没有任何东西可以处理封闭的方括号。
如何自动处理这种情况?
【问题讨论】:
标签: python python-3.x csv