python - 从日志文件中提取日期?

标签 python datetime

我正在尝试从日志文件示例字符串创建 DateTime 对象。

我一直在尝试使用正则表达式来解析它,但是每当我到达日志文件的格式(后半部分时间有一个连接的字母“T”)时,它就会失败。我的测试字符串是“错误 2019-02-03T23:21:20 找不到文件”

def convert_to_datetime(line):
    match = re.search('\d{4}-\d{2}-\d{2}', line)

我正在努力从字符串中获取完整的日期。我尝试了几种正则表达式,但我认为我使用了错误的语法。

最佳答案

不确定您是否需要这个,但如果您的字符串是自由样式,则从字符串生成日期时间对象可能会非常复杂。但我们有dateutil包帮助:

>>> import dateutil.parser
>>> s = 'ERROR 2019-02-03T23:21:20 cannot find file'
>>> dateutil.parser.parse(s, fuzzy=True)
datetime.datetime(2019, 2, 3, 23, 21, 20)

所以如果你喜欢它,这就是函数:

def convert_to_datetime(s):
    return dateutil.parser.parse(s, fuzzy=True)

关于python - 从日志文件中提取日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55905559/

相关文章:

python - pandas 中的大而持久的 DataFrame

python - pyyaml 加载数为十进制

datetime - 如何将日期时间范围放入Elasticsearch Marvel URL

java - 如何使用 JPA 和 Hibernate 在 UTC 时区中存储日期/时间和时间戳

javascript - 使用 jQuery 按日期顺序排列 <p> 元素

tsql - 在 T-SQL 中将日期时间截断为秒(删除毫秒)

python - Altair 中有多个 y 轴时如何增加标签间距和刻度间距?

python - 正则表达式中的条件匹配

python - Pandas Dataframe - 设置行等于其他行

PHP判断当前时间是否大于11 :00