获取log文件信息,并保存至Excel文件

 日常工作中,可能需要我们从txt文件中截取海量的信息,只要寻找到这种信息的规律或者定位好信息情况,在我的txt文件中有海量的信息,而我只需要截取09/11/2020 15:09:22.426 log <K_DATA_UNITS_WRITTEN>349505500</K_DATA_UNITS_WRITTEN>

字段中的 1.09/11/2020 15:09:22.426 log
2.349505500
这样两个部分的内容。

#获取log文件信息,并保存至Excel文件
利用到的知识点:1.python正则表达式的基本使用
2.openpyxl的基本操作
3.txt文件内容与保存至Excel文件的交互

库导入

import re       #正则
import os       #文件操作
import time     #获取系统时间
#import openpyxl as opxl
from openpyxl import workbook       #workbook文件的创建
from openpyxl import load_workbook  #装载定位表

#建立python 入口函数

def main():#文件的基本要素get_log_target = 'quality_ya_li_ji_suan'       # 抓取log信息的主要目的file_name_pre =  get_log_target                # 把获取log的目的作为文件名的前缀file_name_suffix = 'SDL722J20144A01'           # 把获取的SN盘作为文件名的后缀file_name_date = time.strftime("%Y%m%d%H%M%S", time.localtime())   # 文件名时间部分file_extension = '.xlsx'                       #保存Excel文件的扩展名file_path = r'E:\OKN\client\inspur\R2\性能计算\压力计算'            # 获取log的路径creat_excel(get_log_target,file_name_pre,file_name_suffix,file_name_date,file_extension,file_path)
if __name__ == "__main__":main()

#上面是函数的基本组成
##但是基本的主要操作都是在函数creat_excel

#具体的函数如下:
##仅供参考
#库导入

import re       #正则
import os       #文件操作
import time     #获取系统时间
#import openpyxl as opxl
from openpyxl import workbook       #workbook文件的创建
from openpyxl import load_workbook  #装载定位表
#Excel:表格的基本组成:workbook -> sheet -> cell -> cell(行列号定位cell)def creat_excel(get_log_target,file_name_pre,file_name_suffix,file_name_date,file_extension,file_path):"""创建文件并且写入从log获取信息且写入Excel内:param get_log_target: 获取log信息的目的:param file_name_pre: 保存Excel文件的前缀 --> file_name_pre =get_log_target:param file_name_suffix: 保存Excel文件的后缀:param file_name_date: 创建Excel文件的时间:param file_extension: Excel文件的扩展名:param file_path:读取文件路径:return:"""file_name_connecter = '_'       # 文件名连接符# 保存文件名:文件前缀 + 文件后缀 + 系统时间.文件扩展名save_file_name = file_name_pre + file_name_connecter + file_name_suffix + \file_name_connecter + file_name_date + file_extension# 创建Excel文件exworkbook = workbook.Workbook()# 创建一个sheet表 ,并且以获取log目的为sheet表名exworkbook.create_sheet(file_name_suffix,index = 0 )#保存 Excel工作薄,#save_info = file_path + r'\\' + save_file_name      # r'\\' 解析目标 '\' :(python解析'\'歧异,利用r'\\'替代 '\')save_file = file_path + save_file_name  # r'\\' 解析目标 '\' :(python解析'\'产生歧异,利用r'\\'替代 '\')exworkbook.save(save_file)#print(get_log_target)# 打开工作薄open_work = load_workbook(save_file)# 定位到表单open_sheet = open_work[file_name_suffix]#search_feil :要查找的内容search_low_lba = 'low_lba'                  #search_high_lba = 'high_lba'                #search_num_writes = 'num_writes'            #search_total_lbas_writtrn = 'total_lbas_written'        #search_quality_ya_li_ji_suan = 'quality_ya_li_ji_suan'  #search_k_data_units_writer = 'K_DATA_UNITS_WRITTEN'     #search_k_data_units_read = 'K_DATA_UNITS_READ'          #search_fild_list = [search_low_lba,search_high_lba,search_num_writes,search_total_lbas_writtrn,search_quality_ya_li_ji_suan,search_k_data_units_writer,search_k_data_units_read]print('search field len:{}'.format(len(search_fild_list)))#cell基本单元的组成元素的累计row_count = 1columns_count = 1file_log_num = 1#列表标题head_lst_columns = ['event_date_w','k_data_units_w','event_date_r','k_data_units_r']#向sheet写入列表标题for i,lie_biao_bian_li in enumerate(head_lst_columns):open_sheet.cell(1,columns_count ).value = head_lst_columns[i]columns_count += 1#open_sheet.cell(1, 1).value = ''#open_sheet.cell(1, 2).value = '年龄'#利用正则,进行切割 re :match,search,find#date spiltdate_patter_01 = r'\d{2}/\d{2}/\d{4}\s'date_patter_02 = r'\d{2}:\d{2}:\d{2}\.\d{3}'make_up = date_patter_01 + date_patter_02#主要信息截取long_paater = r'<(\w+)>(.*)<(/\1)>'#long_paater_01 = r'<(\w+)>.*</(/\1)>'#long_03 = re.search(long_paater, long_info)for root, dirs, files in os.walk(file_path):print('root\t:{},\n''dirs\t:{},\n''file_name\t:{}.'.format(root,dirs,files))#file_log_num += 1for file in files:sub_log_file = os.path.join(file_path,file)fp = open(sub_log_file,encoding='utf-8')print('\n第 {} 个 测试log文件:\n''文件名:{}\n'.format(file_log_num,file))file_log_num += 1for line_field in fp.readlines():#row_count += 1if search_k_data_units_writer in line_field:date = re.search(make_up,line_field)zhuyao = re.search(long_paater,line_field)#print('%s' %line_field,end='')row_count += 1open_sheet.cell(row_count,1).value = date.group()open_sheet.cell(row_count,2).value = int(zhuyao.group(2))if search_k_data_units_read in line_field:date = re.search(make_up, line_field)zhuyao = re.search(long_paater, line_field)# print('%s' %line_field,end='')open_sheet.cell(row_count, 3).value = date.group()open_sheet.cell(row_count, 4).value = int(zhuyao.group(2))#row_count += 1#保存文件open_work.save(save_file)#关闭文件open_work.close()def get_log_info_and_writer_excel():pass#主函数 main()
def main():#文件的基本要素get_log_target = 'quality_ya_li_ji_suan'       # 抓取log信息的主要目的file_name_pre =  get_log_target                # 把获取log的目的作为文件名的前缀file_name_suffix = 'SDL722J20144A01'           # 把获取的SN盘作为文件名的后缀file_name_date = time.strftime("%Y%m%d%H%M%S", time.localtime())   # 文件名时间部分file_extension = '.xlsx'                       #保存Excel文件的扩展名file_path = r'E:\client\R2\性能计算\压力计算'            # 获取log的路径creat_excel(get_log_target,file_name_pre,file_name_suffix,file_name_date,file_extension,file_path)if __name__ == "__main__":main()

最终效果如下

获取log文件信息,并保存至Excel文件相关推荐

  1. 批量处理word文件内容_用python批量提取word文件信息,导出到excel文件

    技术的运用可以解决大量重复处理的工作,提高效率. 比如,有大量的论文电子文档(.docx格式),需要提取文档中的题目.作者.单位等信息制成表格(.xlsx格式),一般每篇论文的题目在第1行,副标题在第 ...

  2. AI测试自动化脚本:解析结果txt文件字段并保存至excel文件

    背景:ai测试精度结果文件有5w行,跑测试的时候,需要逐个文件打开读最后一行的数据,拷贝放在结果表中,比较耗时,经常做回归测试,抽了点时间把这个读写数据的过程自动化了,同时和bench表对应网络的标准 ...

  3. Python爬取售房信息并保存至CSV文件

    Python爬取售房信息并保存至CSV文件 在上一篇文章: Python爬取租房信息并保存至Excel文件,介绍了如何使用Python爬取租房信息并保存至Excel文件,在本案例中则是使用Python ...

  4. sqlite mysql excel_SQlite数据库信息怎么转成excel文件?

    展开全部 下面的程序能将SQlite数据库信息怎么转成excel文件:package zhaoxing.android.tool; import java.io.File; import java.i ...

  5. Python提取Word文件中的目录标题保存为Excel文件

    from docx import Document from openpyxl import Workbook from openpyxl.styles import Alignment, Borde ...

  6. python爬虫入门练习:BeautifulSoup爬取猫眼电影TOP100排行榜,pandas保存本地excel文件

    传送门:[python爬虫入门练习]正则表达式爬取猫眼电影TOP100排行榜,openpyxl保存本地excel文件 对于上文使用的正则表达式匹配网页内容,的确是有些许麻烦,替换出现任何的差错都会导致 ...

  7. Python使用openpyxl库操作Excel之(一)创建并保存一个Excel文件

    ①安装openpyxl库 打开cmd,输入 pip install openpyxl 命令即可. ②创建并保存一个Excel文件 import openpyxl #生成一个 Workbook 的实例化 ...

  8. 如何恢复未保存的Excel文件

    恢复未保存的Excel文件 什么是Excel中的文档恢复 Excel自动保存和自动恢复工具 如何恢复未保存的文档 这是一个我们每个人在职业生涯中都经历过多次的故事.Excel崩溃,我们失去了数据,报告 ...

  9. Python提取PDF文件中的表格文本保存为Excel文件

    "Python小屋"编程比赛正式开始 推荐图书: <Python程序设计(第3版)>,(ISBN:978-7-302-55083-9),董付国,清华大学出版社,2020 ...

最新文章

  1. Matlab编程与数据类型 -- 内联函数
  2. Cocos2d入门--3--向量的应用
  3. 全栈工程师的学习笔记与工作记录
  4. 动态标题_动态打印区域和打印标题
  5. jtable根据内容自动调整列宽
  6. 113. 路径总和 (剑指 Offer 34. 二叉树中和为某一值的路径)(回溯算法)
  7. gPRC简介以及Java中使用gPRC实现客户端与服务端通信(附代码下载)
  8. miui怎么用第三方图标包_空气能热水器怎么用?控制面板的图标详解来了
  9. Java多线程实现多客户端的通信
  10. 简单的网页编辑器js代码
  11. postman文件导入
  12. 【PC】自制QQ机器人(python+VB6)
  13. 计算机组成原理编码键盘实验报告,计算机组成原理实验报告–杨睿.doc
  14. 实现app第一次安装浮层引导View!
  15. 产品经理自学资料/UI交互设计/产品相关电子书/求职招聘/案例资料免费领取
  16. 2020-09-22关于dialog 问题
  17. 自动计算所有子对象包包围盒
  18. Mac苹果系列的安全基线(包括主机和操作系统等)+checklist
  19. 【C】递归之整数转换字符串
  20. win10下安装MySQL8

热门文章

  1. nvidia linux屏幕管理,Ubuntu 11.04 + NVIDIA显卡开启双屏显示
  2. 文思海辉笔试题目java_2013文思海辉java笔试题(最新版带答案)
  3. phpBB 2.06漏洞
  4. 在后台删除新闻时,需要删除服务器上的文件夹
  5. java zhs16gbk_JAVA-----乱码的处理 乱码的解决方法总结
  6. 2022N1叉车司机考试题库及模拟考试
  7. UiPath官网认证培训
  8. xp访问win10计算机名,win10共享打印机给xp凭证问题_xp连接win10打印机凭证不足解决方法...
  9. window10 安装语言包出现“很抱歉,我们无法安装此功能。你可以稍后重试。错误代码: 0x80070422”
  10. Nexus私服仓库快速添加第三方jar包