import re
import xlwt
def txt_to_excel():
streamname = []#包含所有流名字的列表
allfps = []#包含所有fps值的列表
run_time = []#每个对应的大循环次数
framethread = []#对应的framethread的列表
tilethread = []#对应的titlethread的列表
#制作列表
#打开txt文件as orifile
with open("C:\\Users\\Hawk\\Desktop\\excel\\8bitoutput1_k6875.txt")as orifile:
for line in orifile:#在orifile中进行循环
if "stream:" in line: #判断line中是否有“stream"字符串
delate_in_line = "!!!----- stream: /sdcard/video/youtube/"
value_new = line.replace(delate_in_line, "").replace("'\n", "").replace(" -----!!!","")#删去不要的部分
streamname.append(value_new)#向streamname中添加值
if "100.0%" in line:
newline = re.findall("- \S+.\s",line)#返回“-”后的所有数字
#newline返回的为一个列表,为[- 104.74/1784.02],以“/”为分割线,取第二部分删去,只保留“104.74”
allfps.append(newline[0].replace(newline[0].split("/",2)[1],"").replace("- ","").replace("/",""))
if"run times" in line:
delate_in_line1 = "!!!----- run times: "
value_runtime = line.replace(delate_in_line1, "").replace("'\n", "").replace(" -----!!!","")
run_time.append(value_runtime)
if"framethread is:" in line:
delate_in_line2 = "!!!----- framethread is: "
value_framethread = line.replace(delate_in_line2, "").replace("'\n", "").replace(" -----!!!","")
framethread.append(value_framethread)
if"tilethread is:" in line:
delate_in_line3 = "!!!----- tilethread is: "
value_tilethread = line.replace(delate_in_line3,"").replace("'\n", "").replace(" -----!!!","")
tilethread.append(value_tilethread)
#生成表格
workbook = xlwt.Workbook(encoding='utf-8') # 创建workbook对象
sheet1 = workbook.add_sheet(u"firsttime",cell_overwrite_ok=True)#创建一个工作簿,名为"firsttime"
#将列表streamname中的值循环写入表格的第一列
for i in range(len(streamname)):
sheet1.write(i+1, 0, streamname[i])#i+1:每加一行,0:第1列,streamname[i]:写入的值
for j in range(len(allfps)):
sheet1.write(j+1, 1, allfps[j])
for k in range(len(run_time)):
sheet1.write(k+1, 2, run_time[k])
for a in range(len(framethread)):
sheet1.write(a+1, 3, framethread[a])
for b in range(len(tilethread)):
sheet1.write(b+1, 4, tilethread[b])
#表格薄的抬头
headers = ['streamname', 'fps', 'runtime', 'framethread', 'tilethread' ]
for cols,header in enumerate(headers):#cols在这里指index,用headers的序列号表示第几列,然后进行循环
sheet1.write(0, cols, header)
workbook.save("result_k6875.xls")#保存excel文件
提取txt文件中所需要的的部分转为excel
最新推荐文章于 2024-05-10 18:56:08 发布