小編給大家分享一下Python3時(shí)間戳怎樣在excel中運(yùn)用,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
金山網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)公司,金山網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為金山1000多家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站制作要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的金山做網(wǎng)站的公司定做!
計(jì)算時(shí)間似乎不是什么容易的題目,當(dāng)然這只是小編個(gè)人這樣理解的。excel一直是我們從小接觸的軟件,小編也不好自賣自夸,說自己使用excel多么厲害。但是要是用python那還是比較有自信的。其中的時(shí)間戳用來計(jì)算時(shí)間,小編認(rèn)為并不比excel要遜色,不相信的小伙伴可以往下看看。
從庫存報(bào)表里面識(shí)別出最長(zhǎng)庫齡的零件,并計(jì)算出庫齡。
解決思路:
excel讀到的日期的浮點(diǎn)數(shù),代表的是自1900年1月1日以來的天數(shù)。
python的時(shí)間戳是指格林威治時(shí)間自1970年1月1日至當(dāng)前時(shí)間的總秒數(shù)。
所以有兩種思路:
1.庫齡天數(shù)=(當(dāng)前時(shí)間戳-表格時(shí)間戳)/60/60/24
將excel的浮點(diǎn)數(shù)(42368.0)轉(zhuǎn)化成時(shí)間數(shù)組格式(這步有點(diǎn)麻煩),再轉(zhuǎn)化成時(shí)間戳。
然后也將python讀到的當(dāng)前時(shí)間(2020-05-25 20:39:09.933949)轉(zhuǎn)換成時(shí)間戳,然后再將秒數(shù)折算成天數(shù)。
2. 庫齡天數(shù)=表格浮點(diǎn)數(shù)-當(dāng)前日期轉(zhuǎn)換成浮點(diǎn)數(shù)
將python的當(dāng)前時(shí)間數(shù)組格式-1899年12月31日的時(shí)間數(shù)組格式,得到的一個(gè)時(shí)間數(shù)組格式。這個(gè)差值轉(zhuǎn)換成天數(shù)(datetime模塊下 .days)。得到當(dāng)前距離1900年1月1日的天數(shù)。然后減去表格的浮點(diǎn)數(shù),得到庫齡。
小編用的是第2種解決方法是:
import xlrd import xlwt import datetime #讀取收貨日期,計(jì)算庫齡,找到最長(zhǎng)庫齡 wb = xlrd.open_workbook('庫存報(bào)表20200520.xlsx') sheet1 = wb.sheet_by_name('Sheet1') #計(jì)算當(dāng)前時(shí)間,轉(zhuǎn)換成excel時(shí)間戳,excel時(shí)間戳其實(shí)時(shí)間1990年1月1日 date_start = datetime.datetime(1899, 12, 31) date_now = datetime.datetime.now() tod = date_now - date_start #計(jì)算庫齡,寫入數(shù)列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) # 新建一個(gè)表格,記錄分析結(jié)果 wb = xlwt.Workbook() sheet = wb.add_sheet('關(guān)鍵數(shù)據(jù)') titles = ['最長(zhǎng)庫齡', '零件號(hào)', '零件名稱', '數(shù)量'] for i in range(len(titles)): sheet.write(0, i, titles[i]) # 找到最大庫齡,寫到表格 max = max(deltas) sheet.write(1, 0, max) # 最大庫齡對(duì)應(yīng)的零件號(hào),數(shù)量 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')
看完了這篇文章,相信你對(duì)Python3時(shí)間戳怎樣在excel中運(yùn)用有了一定的了解,想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!