因为要丛UE文档中过滤关键字来统计解码时间,第一次自己完成了一个自动化统计的小工具,用起来颇有成就感。

UE文件的内如如下:

需要丛这份关键字中过滤红色标记的两个关键字,取 一个关键字的最后一位,和取一个关键字的最后3位,然后在excel表格中记录,并将值转为十进制

代码实现如下,虽然代码没那么简洁,但是功能是实现了

#coding :utf-8
#_author_=del
import os,sys
import re
import csv
import random
#import xlsxwriter
import xlwt

fdir = "E:/内部项目文档/2G扫码/多轴联动/亮度100%vivo/s002 29cm.trc" #文件路径
f1 = open(fdir,'r',errors='ignore')
keywordA ="number"
keywordB ="80800"
decoderesult = []
decodetime = []
data1=f1.readlines() #一次读取所有内容并按行返回列表
f1.close()
f2 = open('decode.txt', 'w')
f2s = open('result.txt','w')
f3 = open('time.txt','w')
f3s = open('decodetiem.txt','w')
# workbook = xlsxwriter.Workbook('解码时间.xls')
# worksheet = workbook.add_chartsheet('sheet1')
writebook = xlwt.Workbook()
sheet = writebook.add_sheet('sheet1')
headings = ['第N帧识别到','识读时间','识读时间(ms)'] #设置表头
for line in data1:
if keywordA in line:
# numlist = line.split('\t')
print(line)
f2.write(line+'\n')
f2s.write(line[-2:-1]+'\n')
decoderesult.append(int(line[-2:-1]))
f2.close()
f2s.close()
# print(decoderesult)
# for x in range(len(decoderesult)):---#列出 decoderusult数据的内容
# print(decoderesult[x])
# x+1
for line in data1:
if keywordB in line:
print(line)
if line[-4:-1] !='000'and line[-4:-1] !='001':
f3.write(line+'\n')
f3s.write(line[-4:-1]+'\n')
decodetime.append((line[-4:-1]))
f3.close()
f3s.close()
# print(decodetime)
# for y in range(len(decodetime)):
# print(decodetime[y])
# y+1
print(decoderesult)
print(decodetime)
print(len(decodetime),len(decoderesult))
if len(decoderesult)==len(decodetime):
i = 0 # 行
j = 0 #列
count = 0 #计数

for value in range(len(headings)):
sheet.write(i, j + value, headings[value]) # 写入excel,i行j+value列
i = 1
j = 0
skip = 0 #跳过的行
for v in range(len(decoderesult)): #遍历decoderesult数组
if decoderesult[v] == 1:
if count ==0:
sheet.write(i+v-skip,j+0,1)
else:
sheet.write(i+v-skip,j+0,count+1)
print(decodetime[v])
sheet.write(i+v-skip,j+1,decodetime[v])
sheet.write(i+v-skip,j+2,int(decodetime[v], 16))
count = 0
else:
count += 1
skip +=1

else:
print("解码次数和时间次数不匹配")

writebook.save('解码时间.xls')

python实现文件查找功能,excel写入功能的更多相关文章

  1. 用 Python 实现文件查找

    用 Python 实现文件查找(BIF实现及队列实现) (1)利用内置函数实现文件查找 1.功能:返回用户输入的文件的绝对路径 2.设计思路: (1)用户输入在哪个盘进行查找 (2)遍历此盘文件,若为 ...

  2. python修改文件中字符串并写入

    python实际工作中,做一些小工具,很方便.最近在做一个格式转换工具时候,用到了替换文件中特定字符串的 功能.当初没直接想出来,就在网上查了一下,做个记录,方便后续使用. # -*- coding: ...

  3. Python学习笔记_Python向Excel写入数据

    实验环境 1.OS:Win 10 64位 2.Python 3.7 3.如果没有安装xlwt库,则安装:pip install xlwt 下面是从网上找到的一段代码,网上这段代码,看首行注释行,是在L ...

  4. python txt文件数据转excel

    txt content: perf.txt 2018-11-12 16:48:58 time: 16:48:58 load average: 0.62, 0.54, 0.56 mosquitto CP ...

  5. 个人永久性免费-Excel催化剂功能第38波-比Vlookup更好用的查找引用函数

    谈起Excel的函数,有一个函数生来自带明星光环,在表哥表姐群体中无人不知,介绍它的教程更是铺天盖地,此乃VLOOKUP函数也.今天Excel催化剂在这里冒着被火喷的风险,大胆地宣布一个比VLOOKU ...

  6. 个人永久性免费-Excel催化剂功能第103波-批量打开多文件或多链接

    有时简单的东西,却带来许多的便利,为了让大家可以记住并容易找寻到此功能,也将这么简单的功能归为一波,反正已经100+波了,也无需为了凑功能文章而故意罗列一些小功能带忽悠性地让人觉得很强大. 使用场景 ...

  7. 个人永久性免费-Excel催化剂功能第88波-批量提取pdf文件信息(图片、表格、文本等)

    日常办公场合中,除了常规的Excel.Word.PPT等文档外,还有一个不可忽略的文件格式是pdf格式,而对于想从pdf文件中获取信息时,常规方法将变得非常痛苦和麻烦.此篇给大家送一pdf文件提取信息 ...

  8. 个人永久性免费-Excel催化剂功能第80波-按条件查找数字,扩展原生查找功能

    Excel的查找替换功能,只能对文本类数据查找较为得力,若需查找数字类型的数据,如查找大于100的数字,就无能为力,此篇Excel催化剂补足其短板. Excel数据类型知识背景介绍 用好Excel,必 ...

  9. 有关文件夹与文件的查找,删除等功能 在 os 模块中实现

    最近在写的程序频繁地与文件操作打交道,这块比较弱,还好在百度上找到一篇不错的文章,这是原文传送门,我对原文稍做了些改动. 有关文件夹与文件的查找,删除等功能 在 os 模块中实现.使用时需先导入这个模 ...

随机推荐

  1. 「译」 .NET 5 新增的Http, Sockets, DNS 和 TLS 遥测

    .NET 一直在稳定的增加和改善对应用程序进行跨平台的诊断分析,在.NET Core 3.0, 我们看到了 EventCounters 的介绍,用于观察和分析指标测量. 我最近在几个 .NET Cor ...

  2. 读《白帽子讲web安全》 ——笔记

    第二章 浏览器安全 什么是同源策略? 同源策略,它是由Netscape提出的一个著名的安全策略. 现在所有支持JavaScript 的浏览器都会dao使用这个策略. 所谓同源是指,域名,协议,端口相同 ...

  3. Linux sed 命令总结

    一.sed格式命令 sed 命令行格式为:sed [选项] 'command' 输入文本 二.sed命令的选项 sed [选项] [动作] 选项与参数: -n :使用安静(silent)模式.在一般 ...

  4. 风炫安全web安全学习第三十六节课-15种上传漏洞讲解(一)

    风炫安全web安全学习第三十六节课 15种上传漏洞讲解(一) 文件上传漏洞 0x01 漏洞描述和原理 文件上传漏洞可以说是日常渗透测试用得最多的一个漏洞,因为用它获得服务器权限最快最直接.但是想真正把 ...

  5. Sentry(v20.12.1) K8S 云原生架构探索,玩转前/后端监控与事件日志大数据分析,高性能+高可用+可扩展+可伸缩集群部署

    Sentry 算是目前开源界集错误监控,日志打点上报,事件数据实时分析最好用的软件了,没有之一.将它部署到 Kubernetes,再搭配它本身自带的利用 Clickhouse (大数据实时分析引擎)构 ...

  6. 动态方法拦截(AOP)的N种解决方案

    AOP的本质是方法拦截(将针对目标方法调用劫持下来,进而执行执行的操作),置于方法拦截的实现方案,不外乎两种代码注入类型,即编译时的静态注入和运行时的动态注入,本篇文章列出了几种常用的动态注入方案.这 ...

  7. Docker-ce Centos8 笔记一:安装Docker-ce

    Docker是一个建设企业及数据中心服务仓库的进程,通过裸金属机和虚拟机承载的MAC.windows和linux系统提供本地和远程软件服务,涉及应用软件镜像.系统镜像.虚拟化仓库(虚拟机).它承载着灵 ...

  8. Oracle数据库基础操作语法

    转载自:https://www.cnblogs.com/fallen-seraph/p/10685997.html 一.登录Oracle数据库 首先运行Oracle数据库: 默认的有两个账号: 管理员 ...

  9. If you see someone without smile

    If you see someone without smile, give them one of yours. 难怪我每次和不认识的人说话都放肆大笑.

  10. python面向对象基础-属性/方法