因为要丛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. [leetcode]103. Binary Tree Zigzag Level Order Traversal二叉树Z字形层序遍历

    相对于102题,稍微改变下方法就行 迭代方法: 在102题的基础上,加上一个变量来判断是不是需要反转 反转的话,当前list在for循环结束后用collection的反转方法就可以实现反转 递归方法: ...

  2. 当Thymeleaf遇到向js中传值的操作

    在使用Thymeleaf的时候.关于一些点击操作非常头疼.往往需要向JS里面传递各种东西. 然而,在用Thymeleaf的时候.js操作需要拼接语句.但是又不好拼接. 关于一些操作,一般也是在表格中. ...

  3. Game of Sum

    可以知道整体石子的总和一定的,所以一个人的得分越高,另一个人的得分就越低.不管怎么取任意时刻游戏的状态都是原始序列的一段连续子序列(即被玩家取剩下的序列). 因此,用d(i,j)表示玩家A在i到j部分 ...

  4. 安卓mbn文件丢失,无法搜索移动信号,工程模式mbn乱改,不用QPST烧录怎样恢复?超简单!

    没有root,工程模式乱改mbn配置选项,导致mbn配置丢失,无法搜索移动网络. 重启若干次改配置都无效,清空网络设置无效,恢复出厂无效,recovery三清无效, 不太想拆机root麻烦,QPST配 ...

  5. java的重载与重写

    原文链接http://zhhll.icu/2020/11/11/java%E5%9F%BA%E7%A1%80/%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1/%E9%87%8 ...

  6. Java 中的 equals() 和 hashCode()

    equals() 和 hashCode() 在 Object 类中以本地方法的形式存在,Java 中所有的类都继承了 Object 类,因此所有的类中都包含了这两个方法.这两个方法在 Java 开发中 ...

  7. 详解线程池的作用及Java中如何使用线程池

    服务端应用程序(如数据库和 Web 服务器)需要处理来自客户端的高并发.耗时较短的请求任务,所以频繁的创建处理这些请求的所需要的线程就是一个非常消耗资源的操作.常规的方法是针对一个新的请求创建一个新线 ...

  8. Tomcat配置上遇到的一些问题

    Tomcat启动:在bin目录下双击startup.bat文件就行. 访问:在浏览器输入http://localhost:8080 回车访问的是自己 的界面: http://othersip:8080 ...

  9. Openstack Keystone 认证服务(四)

    Openstack Keystone 认证服务(四) keystone 的安装完全依赖ocata的源, 如果没有建议自己搭建. 否则用的源不对会产生各种奇葩问题. 创建keystone库和用户: ## ...

  10. python模块详解 | progressbar

    参考官方文档:https://pypi.org/project/progressbar/#description progressbar 安装: pip install progressbar pro ...