当前位置 博文首页 > 如何用Python提取10000份log中的产品信息

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

    作者:疯狂的机器人 时间:2021-02-10 18:03

    一、背景

    协助产品部门提取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()
    js
    下一篇:没有了