首页 > 编程语言 > 如何用Python提取10000份log中的产品信息
2021
01-17

如何用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()

以上就是如何用Python提取10000份log中的产品信息的详细内容,更多关于python 提取log中的信息的资料请关注自学编程网其它相关文章!

编程技巧