集算器文本处理之不定行日志解析.pdf

集算器文本处理之不定行日志解析.pdf

ID:52768062

大小:441.79 KB

页数:6页

时间:2020-03-30

集算器文本处理之不定行日志解析.pdf_第1页
集算器文本处理之不定行日志解析.pdf_第2页
集算器文本处理之不定行日志解析.pdf_第3页
集算器文本处理之不定行日志解析.pdf_第4页
集算器文本处理之不定行日志解析.pdf_第5页
资源描述:

《集算器文本处理之不定行日志解析.pdf》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、集算器文本处理之不定行日志解析在将日志文本解析成结构化数据时时,常会遇到记录由数量不定的多行组成的情况。这种变换存在一定的复杂性,实现复杂度较高。集算器支持正则表达式、字串拆分、隔行取数、横向拼接等灵活的结构化计算函数,适合处理此类文本。下面通过例子来看一下具体作法。日志文件reportXXX.log存储着若干记录,每条记录由多行构成,包括14个数据项(字段)。记录以字符串“ObjectType”开头。我们的目标是把该日志整理为结构化数据,并将结果写入文本文件。部分源数据如下:WindowReportfor"aaa"Obj

2、ectType:SymbolLocation:left:195top:11right:123bottom:15LineColor:RGB(100)FillColor:RGB(2512550)Link:l11Type:PushButton-ActionScript1ConditionType:OnLeftClick/KeyDownStatement:CallAufrufSchalter1(VEA_450P01.Name,SchalterH-0-A);Link:l12Type:Disable-DiscreteExpressio

3、n1DisabledWhenExpressionisFALSEObjectType:PloygonLocation:left:295top:26right:200bottom:20LineColor:RGB(200)FillColor:RGB(229229229)Link:l21Type:PushButton-ActionScript2集算器代码:A1=file("e:\reportXXX.log").read()2=A1.array("ObjectType:").to(2,)3=A2.regex("(.+)[\s\

4、S]+left:(.+)[\s\S]+top:(.+)[\s\S]+right:(.+)bottom:(.+)[\s\S]+LineColor:\t\t(.+)[\s\S]+FillColor:\t\t(.+)[\S\s]+?Link:(.+)[\s\S]+?Type:(.+)[\s\S]+ConditionType:(.+)[\s\S]+Statement:\r\t+(.+)[\s\S]+Link:(.+)[\s\S]+Type:(.+)\r\r\

5、r\t([\S]+)";objectType,left,top,right,bottom,lineColor,fillColor,ojbectLink,type,conditionType,statement,statementLink,statementType,lastExpress)4=file("e:\result.txt").export@t(A3)A1=file("e:\reportXXX.log").read()这句代码用来将日志文件全部读入内存,结算结果如下:A2=A1.array("Obj

6、ectType:").to(2,)这句代码可以分解为两部分。第一部分:将A1按照”ObjectType”分割为多个字符串,代码为A1.array("ObjectType:"),计算结果如下:第一条数据无用,之后的每条数据都是一条有效记录,to(2,)表示取出第二条直至最后一条数据。A2的计算结果如下:A3=regex(正则表达式;字段名列表),这句代码对A3中的每个成员应用同样的正则表达式,并取出14个字段,字段名以逗号分割。下面列出计算结果中的前几个字段:A4=file("e:\result.txt").export@

7、t(A3)上面的代码用来将计算结果写入文件,默认的分割符是tab,选项@t表示将字段名做为文件的第一行。打开result.txt,可以看到下面的数据:objectTypelefttoprightbottomlineColorfillColorojbectLinktypeconditionTypestatementstatementLinkstatementTypelastExpressSymbol1951112315RGB(100)RGB(2512550)l11PushButton-ActionScript1OnLeftC

8、lick/KeyDownCallAufrufSchalter1(VEA_450P01.Name,SchalterH-0-A);l12Disable-DiscreteExpression1DisabledWhenExpressionisFALSEPloygon2952620020RGB(200)RGB(2

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。