用python讀檔案如.c檔案生成excel檔案
阿新 • • 發佈:2018-11-20
記錄一下,如何實現的,程式碼如下:
#!/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() ifsearchObj: #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開始,
sys.argv[0]是ldw.py,
sys.argv[1]是itsmwn.c,要讀取的檔名
查詢 debug 工單分別對應生成的excel的第二、三和四列的內容
執行結果如下:
主要還是統計日誌路徑,後面三列還是需要根據程式碼內容進行修改