新聞中心
計(jì)算時(shí)間似乎不是什么容易的題目,當(dāng)然這只是小編個(gè)人這樣理解的。excel一直是我們從小接觸的軟件,小編也不好自賣(mài)自夸,說(shuō)自己使用excel多么厲害。但是要是用python那還是比較有自信的。其中的時(shí)間戳用來(lái)計(jì)算時(shí)間,小編認(rèn)為并不比excel要遜色,不相信的小伙伴可以往下看看。

創(chuàng)新互聯(lián)不只是一家網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司;我們對(duì)營(yíng)銷、技術(shù)、服務(wù)都有自己獨(dú)特見(jiàn)解,公司采取“創(chuàng)意+綜合+營(yíng)銷”一體化的方式為您提供更專業(yè)的服務(wù)!我們經(jīng)歷的每一步也許不一定是最完美的,但每一步都有值得深思的意義。我們珍視每一份信任,關(guān)注我們的成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)質(zhì)量和服務(wù)品質(zhì),在得到用戶滿意的同時(shí),也能得到同行業(yè)的專業(yè)認(rèn)可,能夠?yàn)樾袠I(yè)創(chuàng)新發(fā)展助力。未來(lái)將繼續(xù)專注于技術(shù)創(chuàng)新,服務(wù)升級(jí),滿足企業(yè)一站式營(yíng)銷型網(wǎng)站建設(shè)需求,讓再小的高端網(wǎng)站設(shè)計(jì)也能產(chǎn)生價(jià)值!
從庫(kù)存報(bào)表里面識(shí)別出最長(zhǎng)庫(kù)齡的零件,并計(jì)算出庫(kù)齡。
解決思路:
excel讀到的日期的浮點(diǎn)數(shù),代表的是自1900年1月1日以來(lái)的天數(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ù)齡,寫(xiě)入數(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ù)齡,寫(xiě)到表格
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')有經(jīng)常使用excel的小伙伴也可以試試Python3時(shí)間戳的方法哦,試完后可以看看哪個(gè)軟件的的常規(guī)方法更好用。更多Python學(xué)習(xí)推薦:PyThon學(xué)習(xí)網(wǎng)教學(xué)中心。
網(wǎng)站標(biāo)題:創(chuàng)新互聯(lián)Python教程:Python3時(shí)間戳如何在excel中運(yùn)用?
當(dāng)前URL:http://www.dlmjj.cn/article/dpdgcie.html


咨詢
建站咨詢
