python处理时间格式时分秒_python将时分秒转换成秒的实例
處理數(shù)據(jù)的時候遇到一個問題,從數(shù)據(jù)庫里導(dǎo)出的數(shù)據(jù)是時分秒的格式:hh:mm:ss ,現(xiàn)在我需要把它轉(zhuǎn)換成秒,方便計算。
原數(shù)據(jù)可能分兩種情況,字段有可能是文本字符串類型的,也有可能是時間類型,他們的處理方法不一樣,所以我們分開討論。
1、字符串類型轉(zhuǎn)換成秒
可以將其用 ‘:" 分隔開,分別得出時、分、秒,即可計算出秒數(shù)。所以我們定義如下函數(shù):
def str2sec(x):
"""
字符串時分秒轉(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ù)運算
2、時間類型轉(zhuǎn)換成秒
本身如果是時間類型的格式,我們可以很方便的使用 python 內(nèi)置的 datetime 模塊解決問題,我們可以定義以下函數(shù):
def time2sec(y):
"""
時間類型時分秒轉(zhuǎn)換成秒
"""
h = y.hour #直接用datetime.time模塊內(nèi)置的方法,得到時、分、秒
m = y.minute
s = y.second
return int(h)*3600 + int(m)*60 + int(s) #int()函數(shù)轉(zhuǎn)換成整數(shù)運算
首先我們導(dǎo)入數(shù)據(jù):
import pandas as pd
data = pd.read_excel(r"C:Userschih-chengDesktopdata.xlsx")
#導(dǎo)入數(shù)據(jù)
data.dtypes
#查看數(shù)據(jù)類型
運行結(jié)果:
結(jié)果發(fā)現(xiàn)“工作總時長”字段并不是字符串類型,所以我們使用第二個定義的函數(shù)即可解決問題,代碼如下:
data["工作總時長"] = data["工作總時長"].apply(time2sec)
#直接將定義好的 time2sec()函數(shù)作用于元素即可
print(data)
結(jié)果如下:
大功告成。
以上這篇python將時分秒轉(zhuǎn)換成秒的實例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持云海天教程。
總結(jié)
以上是生活随笔為你收集整理的python处理时间格式时分秒_python将时分秒转换成秒的实例的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C#输入年份打印日历
- 下一篇: 《python编程从入门到实践》读书笔记