如何用Python提取10000份log中的产品信息
作者:疯狂的机器人 发布时间:2023-06-30 06:23:21
标签:python,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()
来源:https://www.cnblogs.com/airb/p/13895674.html


猜你喜欢
- JavaScript的Array对象有一个sort方法,用于实现对数组元素的排序,该方法默认按照数组项ASCII 字符顺序升序排列
- 在Python语言中,Uincode字符串处理一直是一个容易让人迷惑的问题。许多Python爱好者经常因为搞不清Unicode、UTF-8还
- Python版本 实现了比之前的xxftp更多更完善的功能 1、继续支持多用户 2、继续支持虚拟目录 3、增加支持用户根目录以及映射虚拟目录
- 在做目标检测任务时,若使用Github已复现的论文时,需首先将自己的数据集转化为VOC数据集的格式,因为论文作者使用的是公开数据集VOC 2
- 1.python实现对doc文档的读取#读取docx中的文本代码示例import docx#获取文档对象file=docx.Document
- MySQL由于它本身的小巧和操作的高效, 在数据库应用中越来越多的被采用.我在开发一个P2P应用的时候曾经使用MySQL来保存P2P节点,由
- 合并:torch.cat(inputs=(a, b), dimension=1)e.g. x = torch.cat((x,y), 0) 沿
- 有一个同学在Gne的群里面咨询如何通过Selenium获取当前鼠标指向的元素,在我讲了方法以后,他过了两天又来问:那么,我今天就来写一篇文章
- 假设我们使用 Angular Universal 开发一个服务器端渲染的 Angular 应用,这个应用会消费一个第三方的 Restful
- XML 是严格又自由的标记语言。我们都习惯于它的自由特性,自己想怎么定义都行,设计上非常自由,从不会因为它的标记特性约束到设计灵感的发挥。对
- 前言使用 pymongo 进行 group by 操作有两种基本方式,他们都是 mongodb 的原生命令,于 Collection 对象上
- 1.3 安装 ASP.net跟基督山一起检查你们的计算机哦CPU Pentium II 450以上,推荐733内存 256M 推荐 512M
- linux环境Mysql 5.7.13安装教程分享给大家,供大家参考,具体内容如下1系统约定安装文件下载目录:/data/softwareM
- 先说下自己的环境,redis是部署在centos上的,爬虫运行在windows上,1. 安装redisyum install -y redi
- 官方给出Vue.filters(id , [definition])//id {string}//definition {function}
- 小孩子刚刚开始学说话的时候,常常是一个字一个字地开始学,比如学说“饺子”,对他/她来讲,似乎有点难度,大人也聪明,于是就简化了,用“饺饺”来
- 一、Python 缓存① 缓存作用缓存是一种优化技术,可以在应用程序中使用它来将最近或经常使用的数据保存在内存中,通过这种方式来访问数据的速
- 动态添加input并动态添加新验证方式!init状态: 点击“+”后: 验证后:知识点:1 先去官网下载:http://
- 摘要:本篇博客介绍了YOLOv5车牌识别的理论基础,包括目标检测的概念、YOLO系列的发展历程、YOLOv5的网络结构和损失函数等。通过深入
- 图像特征-SIFT尺度不变特征变换1.1图像尺度空间在一定的范围内,无论物体是大还是小,人眼都可以分辨出来,然后计算机要具有相同的能力却很难