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()
—————————————————————————————— 选择正确的事、再把事做正确
——————————————————————————————