python实现文件查找功能,excel写入功能
因为要丛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写入功能的更多相关文章
- 用 Python 实现文件查找
用 Python 实现文件查找(BIF实现及队列实现) (1)利用内置函数实现文件查找 1.功能:返回用户输入的文件的绝对路径 2.设计思路: (1)用户输入在哪个盘进行查找 (2)遍历此盘文件,若为 ...
- python修改文件中字符串并写入
python实际工作中,做一些小工具,很方便.最近在做一个格式转换工具时候,用到了替换文件中特定字符串的 功能.当初没直接想出来,就在网上查了一下,做个记录,方便后续使用. # -*- coding: ...
- Python学习笔记_Python向Excel写入数据
实验环境 1.OS:Win 10 64位 2.Python 3.7 3.如果没有安装xlwt库,则安装:pip install xlwt 下面是从网上找到的一段代码,网上这段代码,看首行注释行,是在L ...
- 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 ...
- 个人永久性免费-Excel催化剂功能第38波-比Vlookup更好用的查找引用函数
谈起Excel的函数,有一个函数生来自带明星光环,在表哥表姐群体中无人不知,介绍它的教程更是铺天盖地,此乃VLOOKUP函数也.今天Excel催化剂在这里冒着被火喷的风险,大胆地宣布一个比VLOOKU ...
- 个人永久性免费-Excel催化剂功能第103波-批量打开多文件或多链接
有时简单的东西,却带来许多的便利,为了让大家可以记住并容易找寻到此功能,也将这么简单的功能归为一波,反正已经100+波了,也无需为了凑功能文章而故意罗列一些小功能带忽悠性地让人觉得很强大. 使用场景 ...
- 个人永久性免费-Excel催化剂功能第88波-批量提取pdf文件信息(图片、表格、文本等)
日常办公场合中,除了常规的Excel.Word.PPT等文档外,还有一个不可忽略的文件格式是pdf格式,而对于想从pdf文件中获取信息时,常规方法将变得非常痛苦和麻烦.此篇给大家送一pdf文件提取信息 ...
- 个人永久性免费-Excel催化剂功能第80波-按条件查找数字,扩展原生查找功能
Excel的查找替换功能,只能对文本类数据查找较为得力,若需查找数字类型的数据,如查找大于100的数字,就无能为力,此篇Excel催化剂补足其短板. Excel数据类型知识背景介绍 用好Excel,必 ...
- 有关文件夹与文件的查找,删除等功能 在 os 模块中实现
最近在写的程序频繁地与文件操作打交道,这块比较弱,还好在百度上找到一篇不错的文章,这是原文传送门,我对原文稍做了些改动. 有关文件夹与文件的查找,删除等功能 在 os 模块中实现.使用时需先导入这个模 ...
随机推荐
- C语言输入字符串
首先强调一点,C语言没有字符串的概念!所谓的字符串实际上还是以数组形式保存的. 方法1 -- 通过"%s"输入 优点:简单明了,输入字符只要不大于数组长度都可以. #includ ...
- Js HTML DOM动画
基础页面 为了演示如何通过 JavaScript 来创建 html 动画,我们将使用一张简单的网页: 实例 我的第一部 JavaScript 动画 我的动画在这里. 创建动画容器 所有动画都应该与容器 ...
- API企业级网关设计
前言 摘自--https://github.com/aCoder2013/blog/issues/35 假设你正在开发一个电商网站,那么这里会涉及到很多后端的微服务,比如会员.商品.推荐服务等等. 那 ...
- .NET C#中处理Url中文编码问题
近些日子在做一个用C#访问webservise的程序,由于需要传递中文参数去请求网站,所以碰到了中文编码问题.我们知道像百度这种搜索引擎中,当用户输入中文关键字后,它会把中文转码,以确保在Url中不会 ...
- 「译」 .NET 5 新增的Http, Sockets, DNS 和 TLS 遥测
.NET 一直在稳定的增加和改善对应用程序进行跨平台的诊断分析,在.NET Core 3.0, 我们看到了 EventCounters 的介绍,用于观察和分析指标测量. 我最近在几个 .NET Cor ...
- Linux系统下qt程序运行找不到IGL
linux下使用QT5运行时出现两个问题: cannot find -lGL collect2:error:ld returned 1 exit status 这是因为系统缺少链接库,执行两条命令即可 ...
- Vue2+Koa2+Typescript前后端框架教程--05Sequelize的使用(ORM)
本篇开始分享Node.js后端服务开发中对于数据结构ORM的实现,主要使用的技术栈是:Sequelize. 上一篇文章中讲到班级管理的数据结构:ID,班级名称,班级编码,班主任ID,使用的数据库是My ...
- Linux下nginx反向代理负载均衡几种方式以及配置
下面以ip地址192.168.1.1 和192.168.1.2举例 1.轮询 (1).轮询:每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除. upstream ...
- rocketmq-cpp-client Visual Studio 2019 编译
rocketmq-cpp-client Visual Studio 2019 编译 rocketmq-cpp-client 是rocketmq c++版本的 所以我们C++ 开发者使用此项目 构建 获 ...
- LeetCode237 删除链表中的节点
请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点. 现有一个链表 -- head = [4,5,1,9],它可以表示为: 4 -> 5 -> 1 - ...