我有一个棘手的日志文件,我想进入一个干净的数据流。日志格式如下:
===============================================================================
2016/03/28 12:26:45 - Message
-------------------------------------------------------------------------------
2016/03/28 12:26:45 - Message
2016/03/28 12:26:45 - Message
Message
2016/03/28 12:26:45 - Message
2016/03/28 12:26:46 - Message
2016/03/28 12:26:46 - Message
2016/03/28 12:28:30 - Message
2016/03/28 12:28:40 - Message
2016/03/28 12:28:40 - Message
2016/03/28 12:28:40 - Message
-------------------------------------------------------------------------------
2016/03/28 12:28:40 - Message
===============================================================================
日志按照上述模式继续,我的目标是拥有以下数据帧
^{pr2}$我已经厌倦了解析'-'上的文件文件,创建了一个数据帧,并删除了虚线。在
import pandas as pd
from pandas.compat import StringIO
clean = open(filename).read().remove('-------------------------------------------------------------------------------', '')
clean2 = open(filename).read().replace('===============================================================================', '')
df = pd.read_csv(filename, sep = "\s*\-", names = ["Time", "Text"], engine = "python")
df.Time = pd.to_datetime(df.Time, format='%d/%m/%y %H:%M:%S.%f')
df.Text = df.Text
然而,我得到了许多南专栏,任何帮助都是感激的
我认为您可以使用^{} 和
^{pr2}$errors='coerce'
来将错误数据替换为NaT
和{a2}来删除NaT
列中NaT
的所有行:对于@jezrael这个非常好的解决方案,一个更冗长的替代方案是:
但我不确定您是否希望将Time列转换为pd Time格式。如果是,那么只需添加:
^{pr2}$在剧本的结尾
相关问题 更多 >
编程相关推荐