记录一下,如何实现的,代码以下:python
#!/usr/bin/env python # coding=utf-8 # 打开文件 import xlwt import re import sys bookfile = xlwt.Workbook(encoding='utf-8') table = bookfile.add_sheet('data',cell_overwrite_ok=True) table_head = ['日志路径', '触发条件','级别','内容'] for i in range(len(table_head)): table.write(0, i, table_head[i]) file = open(sys.argv[1]) row = 1 while True: # 读取一行内容 text = file.readline() #searchObj = re.search( r'[a-zA-Z0-9]*\.log', text, re.M|re.I) pattern = re.compile(r'[a-zA-Z0-9]*\.log') # 查找数字 searchObj = pattern.findall(text) #str1 = searchObj.group() if searchObj: #print (searchObj) str = [["/home/spv/log/",sys.argv[2],sys.argv[3],sys.argv[4]]] str[0][0] += searchObj[0] print("str:%s" % str[0][0]) for col in range(0,4): table.write( row, col, str[0][col] ) bookfile.save("data.xls") row += 1 # 判断是否读到内容 if not text: break # 每读取一行的末尾已经有了一个 `\n` #print(text, end="") #print(text) # 关闭文件 file.close()
其实,但生成的excel很不规范,由于有些数据无法统计,生成excel后,须要手动修改,通常用的多的地方是:xml和excel的相互转换,命令以下:python3 ldw.py itsmwn.c 查询 debug 工单,其实跟C语言的命令行参数同样,都从0开始,spa
sys.argv[0]是ldw.py,命令行
sys.argv[1]是itsmwn.c,要读取的文件名debug
查询 debug 工单分别对应生成的excel的第2、三和四列的内容日志
运行结果以下:excel
主要仍是统计日志路径,后面三列仍是须要根据代码内容进行修改code