一、背景
协助产品部门提取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.实现代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
#!/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中的信息的资料请关注服务器之家其它相关文章!
原文链接:https://www.cnblogs.com/airb/p/13895674.html