计算时间似乎不是什么容易的题目,当然这只是小编个人这样理解的。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种解决方法是:
import xlrd import xlwt import datetime #读取收货日期,计算库龄,找到最长库龄 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 for i in range(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 = ['最长库龄', '零件号', '零件名称', '数量'] for i in range(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学习网教学中心。
网页题目:创新互联Python教程:Python3时间戳如何在excel中运用?
本文链接:http://www.csdahua.cn/qtweb/news16/400466.html
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网