python將時(shí)分秒轉(zhuǎn)換成秒的實(shí)例
處理數(shù)據(jù)的時(shí)候遇到一個(gè)問題,從數(shù)據(jù)庫里導(dǎo)出的數(shù)據(jù)是時(shí)分秒的格式:hh:mm:ss ,現(xiàn)在我需要把它轉(zhuǎn)換成秒,方便計(jì)算。
原數(shù)據(jù)可能分兩種情況,字段有可能是文本字符串類型的,也有可能是時(shí)間類型,他們的處理方法不一樣,所以我們分開討論。
1、字符串類型轉(zhuǎn)換成秒
可以將其用 ‘:' 分隔開,分別得出時(shí)、分、秒,即可計(jì)算出秒數(shù)。所以我們定義如下函數(shù):
def str2sec(x): ''' 字符串時(shí)分秒轉(zhuǎn)換成秒 ''' h, m, s = x.strip().split(':') #.split()函數(shù)將其通過':'分隔開,.strip()函數(shù)用來除去空格 return int(h)*3600 + int(m)*60 + int(s) #int()函數(shù)轉(zhuǎn)換成整數(shù)運(yùn)算
2、時(shí)間類型轉(zhuǎn)換成秒
本身如果是時(shí)間類型的格式,我們可以很方便的使用 python 內(nèi)置的 datetime 模塊解決問題,我們可以定義以下函數(shù):
def time2sec(y): ''' 時(shí)間類型時(shí)分秒轉(zhuǎn)換成秒 ''' h = y.hour #直接用datetime.time模塊內(nèi)置的方法,得到時(shí)、分、秒 m = y.minute s = y.second return int(h)*3600 + int(m)*60 + int(s) #int()函數(shù)轉(zhuǎn)換成整數(shù)運(yùn)算
首先我們導(dǎo)入數(shù)據(jù):
import pandas as pd data = pd.read_excel(r"C:\Users\chih-cheng\Desktop\data.xlsx") #導(dǎo)入數(shù)據(jù) data.dtypes #查看數(shù)據(jù)類型
運(yùn)行結(jié)果:
結(jié)果發(fā)現(xiàn)“工作總時(shí)長”字段并不是字符串類型,所以我們使用第二個(gè)定義的函數(shù)即可解決問題,代碼如下:
data['工作總時(shí)長'] = data['工作總時(shí)長'].apply(time2sec) #直接將定義好的 time2sec()函數(shù)作用于元素即可 print(data)
結(jié)果如下:
大功告成。
以上這篇python將時(shí)分秒轉(zhuǎn)換成秒的實(shí)例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python計(jì)算機(jī)視覺里的IOU計(jì)算實(shí)例
今天小編就為大家分享一篇Python計(jì)算機(jī)視覺里的IOU計(jì)算實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-01-01Python中多線程的創(chuàng)建及基本調(diào)用方法
由于注明的GIL的存在,Python盡管能創(chuàng)建多個(gè)線程,但是多線程卻不能同時(shí)工作...well,這里我們來看一下Python中多線程的創(chuàng)建及基本調(diào)用方法2016-07-07Python二進(jìn)制數(shù)據(jù)結(jié)構(gòu)Struct的具體使用
在C/C++語言中,struct被稱為結(jié)構(gòu)體。而在Python中,struct是一個(gè)專門的庫,用于處理字節(jié)串與原生Python數(shù)據(jù)結(jié)構(gòu)類型之間的轉(zhuǎn)換。本文就詳細(xì)介紹struct的使用方式2021-06-06Python類中__init__()?和self的詳細(xì)解析
self和__init__的語法學(xué)過Python的都清楚,但是靠死記硬背來迫使自己理解并不是個(gè)好辦法,下面這篇文章主要給大家介紹了關(guān)于Python類中__init__()?和self的相關(guān)資料,需要的朋友可以參考下2022-12-12Python實(shí)現(xiàn)自定義異常堆棧信息的示例代碼
當(dāng)我們的程序報(bào)錯(cuò)時(shí),解釋器會(huì)將整個(gè)異常的堆棧信息全部輸出出來。解釋器會(huì)將異常產(chǎn)生的整個(gè)調(diào)用鏈都給打印出來,那么問題來了,我們能不能自定義這些報(bào)錯(cuò)信息呢?本文就來為大家詳細(xì)講講2022-07-07詳解Django rest_framework實(shí)現(xiàn)RESTful API
這篇文章主要介紹了詳解Django rest_framework實(shí)現(xiàn)RESTful API,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-05-05Python+OpenCV實(shí)現(xiàn)圖像融合的原理及代碼
這篇文章主要介紹了Python+OpenCV實(shí)現(xiàn)圖像融合的原理及代碼,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-12-12python如何修改PYTHONPATH環(huán)境變量
這篇文章主要介紹了python如何修改PYTHONPATH環(huán)境變量問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08