Python提取10000份log中的产品信息

一、背景

协助产品部门提取10000份产品log信息中的SN号、IMEI号、ICCID号到Excel表格中。

1.l原始的og内容:

 

2.提取后的Excel表格:

 

二、实现

1.思路

a.for遍历获取所有log文件的路径;

b.for遍历log文件内容;

c.re正则匹配SN号、IMEI号、ICCID号写入Excel表格中。

 

2.实现代码

#!/usr/bin/python
import os,xlsxwriter,re

def get_data():
    workbook = xlsxwriter.Workbook('Test.xlsx')                      #建立Excel
    worksheet = workbook.add_worksheet()                             #添加sheet
    worksheet.write('A1', 'SN')                                      #添加列标题
    worksheet.write('B1', 'IMEI')
    worksheet.write('C1', 'ICCID')
    files=os.listdir(r'E:\T\工位三(PAS LOG)\PASS')                    #获取目录中所有log名称列表
    j= 1
    for i in  files:                                                 #遍历目录中的log文件
        xpath = os.path.join('E:\T\工位三(PAS LOG)\PASS',i)           #拼接log文件路径
        f = open(xpath, 'r',encoding='ISO-8859-1')                   #打开log文件
        result = f.readlines()                                       #读取所有log文件内容
        f.close()
        for line in result:                                          #遍历log文件内容
            if re.search('WriteSN:(.*)', line.strip()):              #正则匹配
                sn=re.search('WriteSN:(.*)',line.strip()).group(1)
                worksheet.write('A' + str(j + 1), sn)                #将匹配到的SN号写入Excel中
                print(sn)
            if re.search('IMEI:(.*)', line.strip()):
                imei= re.search('IMEI:(.*)', line.strip()).group(1)
                worksheet.write('B' + str(j + 1), imei)
                print(imei)
            if re.search('ICCID:(.*)', line.strip()):
                iccid =re.search('ICCID:(.*)', line.strip()).group(1)
                worksheet.write('C' + str(j + 1), iccid)
                print(iccid)
        j=j+1
    workbook.close()
    
if __name__ == '__main__':
    get_data()

 

posted @ 2020-10-29 11:09  疯狂的机器人  阅读(262)  评论(0编辑  收藏  举报