9.8 用制表符作为分隔符拆分字符串

 

用制表符作为分隔符,将字符串拆分为字符串序列。
把日志文件整理成结构化数据(以 USERID,UNAME,IP,TIME,URL,BROWSER,LOCATION, MODULE 为字段的序表)。日志的格式:第一行是 IP, TIME, GET, URL, BROWSER; 第二行是 MODULE; 第三行是 USERID, UNAME, LOCATION。

imagepng

使用函数 s.split(d) 将字符串 s 通过分隔符 d 拆成序列返回。

脚本:

A
1 =file(“log.txt”).read@n()
2 =A1.group((#-1)\3)
3 =A2.(~.conj(~.split(“\t”)))
4 =A3.new(~(7):USERID,~(8):UNAME,~(1):IP,~(2):TIME,~(4):URL,~(5):BROWSER,~(9):LOCATION,left(~(6).split(“:”)(2),-1):MODULE)

A1 从文件中按行读入字符串组成的序列
A2 使用 group 函数将每三行分为一组
A3 使用 s.split() 函数,每组按”\t”拆分每一行,合并为一个序列
A4 生成结构化数据

运行结果:

USERID UNAME IP TIME URL BROWSER LOCATION MODULE
47356 Jessica 10.10.10.143 2013-04-01 21:14:44 /p/pt301/index.jsp Mozilla/6.0 Chicago production
419 Jacob 10.10.2.76 2013-04-01 21:18:50 /h/homepage.jsp Chrome/35 Houston homepage