从控制台一个个复制粘贴输出数据到excel是不是很麻烦?
代码稍作改动,openpyxl帮你减掉工作量。
每多写一行代码,就少一些低效运算。
每多学一点知识,就少写一行代码!
看例子!
import openpyxl
import time
import numpy
if __name__ == "__main__":
TEST_TIME = 20
wb = openpyxl.Workbook() # 创建excel对象,可以理解为一个excel文件
sheet = wb.worksheets[0] # 选择第一个Sheet
sheet.append(['分块大小', '方案1', '方案2']) # 添加第一行(表头)
print('*****方案测试(执行%d次)*****' % TEST_TIME)
block_dict = {"1k": 1024, "2k": 2048, "4k": 4096, "8k": 8192, "16k": 16384}
for block in block_dict:
BLOCK_LEN = block_dict[block] * 8
print('——分块大小%s——' % (block))
time_list = {'scheme1': [], 'scheme2': []}
for i in range(TEST_TIME):
time_start = time.time()
scheme1()
time_end = time.time()
time_list['scheme1'].append((time_end - time_start) * 1000) # 记录执行时间的毫秒数
time_start = time.time()
scheme2()
time_end = time.time()
time_list['scheme2'].append((time_end - time_start) * 1000)
print('方案1耗时:%.2fms' % (numpy.mean(time_list['scheme1']))) # 取平均数,显示两位小数
print('方案2耗时:%.2fms' % (numpy.mean(time_list['scheme2'])))
sheet.append([block] + [round(numpy.mean(time_list[i]), 2) for i in time_list]) # 将结果写入表格的一行
wb.save('result' + time.strftime("%Y%m%d%H%M%S", time.localtime()) + '.xlsx') # 使用生成时间作为后缀保存