当前位置: 首页 > 图灵资讯 > 行业资讯> Python3时间戳如何在excel中运用?

Python3时间戳如何在excel中运用?

来源:图灵python
时间: 2024-11-17 17:02:30

计算时间似乎不是什么容易的题目,当然这只是小编个人这样理解的。excel一直是我们从小接触的软件,小编也不好自卖自夸,说自己使用excel多么厉害。但是要是用python那还是比较有自信的。其中的时间戳用来计算时间,小编认为并不比excel要逊色,不相信的小伙伴可以往下看看。

从库存报表里面识别出最长库龄的零件,并计算出库龄。

解决思路:

excel读到的日期的浮点数,代表的是自1900年1月1日以来的天数。

python的时间戳是指格林威治时间自1970年1月1日至当前时间的总秒数。

所以有两种思路:

1.库龄天数=(当前时间戳-表格时间戳)/60/60/24

excel的浮点数(42368.0)转化成时间数组格式(这步有点麻烦),再转化成时间戳。

然后也将python读到的当前时间(2020-05-25 20:39:09.933949)转换成时间戳,然后再将秒数折算成天数。

2. 库龄天数=表格浮点数-当前日期转换成浮点数

python的当前时间数组格式-1899年12月31日的时间数组格式,得到的一个时间数组格式。这个差值转换成天数(datetime模块下 .days)。得到当前距离1900年1月1日的天数。然后减去表格的浮点数,得到库龄。

小编用的是第2种解决方法是:

importxlrd
importxlwt
importdatetime

#读取收货日期,计算库龄,找到最长库龄
wb=xlrd.open_workbook('库存报表20200520.xlsx')
sheet1=wb.sheet_by_name('Sheet1')

#计算当前时间,转换成excel时间戳,excel时间戳其实时间1990年1月1日
date_start=datetime.datetime(1899,12,31)
date_now=datetime.datetime.now()
tod=date_now-date_start

#计算库龄,写入数列deltas
deltas=[]
titlesrow=1
nrows=sheet1.nrows-2
foriinrange(nrows):
d=sheet1.cell(1+i,22)
d=int(d.value)
delta=tod.days-d
deltas.append(delta)

#新建一个表格,记录分析结果
wb=xlwt.Workbook()
sheet=wb.add_sheet('关键数据')

titles=['最长库龄','零件号','零件名称','数量']
foriinrange(len(titles)):
sheet.write(0,i,titles[i])

#找到库龄,写到表格
max=max(deltas)
sheet.write(1,0,max)

#库龄对应的零件号,数量
max_index=deltas.index(max)
max_part=sheet1.cell(max_index+1,3).value
max_name=sheet1.cell(max_index+1,4).value
max_num=sheet1.cell(max_index+1,5).value
sheet.write(1,1,max_part)
sheet.write(1,2,max_name)
sheet.write(1,3,max_num)
wb.save('库存分析.xls')

有经常使用excel的小伙伴也可以试试python3时间戳的方法哦,试完后可以看看哪个软件的的常规方法更好用。更多Python学习推荐:PyThon学习网教学中心