小編給大家分享一下Python3時(shí)間戳怎樣在excel中運(yùn)用,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
成都創(chuàng)新互聯(lián)公司是一家專注于成都網(wǎng)站建設(shè)、做網(wǎng)站與策劃設(shè)計(jì),冀州網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)十年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:冀州等地區(qū)。冀州做網(wǎng)站價(jià)格咨詢:18980820575計(jì)算時(shí)間似乎不是什么容易的題目,當(dāng)然這只是小編個(gè)人這樣理解的。excel一直是我們從小接觸的軟件,小編也不好自賣自夸,說自己使用excel多么厲害。但是要是用python那還是比較有自信的。其中的時(shí)間戳用來計(jì)算時(shí)間,小編認(rèn)為并不比excel要遜色,不相信的小伙伴可以往下看看。
從庫(kù)存報(bào)表里面識(shí)別出最長(zhǎng)庫(kù)齡的零件,并計(jì)算出庫(kù)齡。
解決思路:
excel讀到的日期的浮點(diǎn)數(shù),代表的是自1900年1月1日以來的天數(shù)。
python的時(shí)間戳是指格林威治時(shí)間自1970年1月1日至當(dāng)前時(shí)間的總秒數(shù)。
所以有兩種思路:
1.庫(kù)齡天數(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. 庫(kù)齡天數(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ù),得到庫(kù)齡。
小編用的是第2種解決方法是:
import xlrd import xlwt import datetime #讀取收貨日期,計(jì)算庫(kù)齡,找到最長(zhǎng)庫(kù)齡 wb = xlrd.open_workbook('庫(kù)存報(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ì)算庫(kù)齡,寫入數(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)庫(kù)齡', '零件號(hào)', '零件名稱', '數(shù)量'] for i in range(len(titles)): sheet.write(0, i, titles[i]) # 找到較大庫(kù)齡,寫到表格 max = max(deltas) sheet.write(1, 0, max) # 較大庫(kù)齡對(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('庫(kù)存分析.xls')
看完了這篇文章,相信你對(duì)Python3時(shí)間戳怎樣在excel中運(yùn)用有了一定的了解,想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!