用python讀文件如.c文件生成excel文件

  記錄一下,如何實現的,代碼以下: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

相關文章
相關標籤/搜索