pandas写入不同的时间序列到Excel指定列

在接口测试中我们经常遇到请求参数包括两组不同时间的问题,要保证每次的时间序列的唯一时才不会导致订单号重复,从而达到预期批量的效果。当没有捷径的时候我们可以定义多个时间来获取,但是这种方法需要每次创建多个时间序列,比较繁琐。针对这个问题我研究了一个万能的方法,可以解决这个问题。

不得不说Python里面的方法是很强大的,只有遇到问题的时候才能激发出你解决问题的欲望,不断挖掘出适合的方法,适合的就是正确的。

只有不断尝试不断失败,才能总结出丰富的经验!

废话一堆了,直接上代码....

安装读写Excel的插件:

pandas

openpyxl

第一步:创建一个生成时间的公共方法:

def getTimes(waitetime):
    time.sleep(waitetime)
    now=time.strftime('%Y%m%d%H%M%S')
    return now

解释一下:方法里面的参数waitetime,是我们写入时间的个数

第二步:创建写入时间的方法

def writeDataToExcelColumn(file,num):
    print('正在写入时间,请等待.....')
    wb = openpyxl.load_workbook(file)
    a = pd.date_range(start=getTimes(num), periods=num, freq='s')
    b = pd.date_range(start=getTimes(num), periods=num, freq='s')
    timer1 = a.strftime('%Y%m%d%H%M%S')
    timer2 = b.strftime('%Y%m%d%H%M%S')
    wdata = list(timer1)
    wdata2 = list(timer2)
    sheet1 = wb.worksheets[0]
    for i in range(len(wdata)):
        sheet1.cell(i+2,1).value=wdata[i]
        for j in range(len(wdata2)):
            sheet1.cell(j + 2, 2).value = wdata2[j]
    wb.save(file)
    print('写入时间完成')

解释:pandas.date_range()这个函数主要是返回固定频率的时间索引,参数有很多,只用适合的方法。periods-生成的个数,freq-按小时、分钟、秒生成。freq=‘s’ 表示每秒生成一个时间序列。python学习的资料有很多,可以自行度娘!

最后,来看下效果:

pandas写入不同的时间序列到Excel指定列

 

pandas写入不同的时间序列到Excel指定列