datetime数据介绍
首先附上官方python库中对datetime数据的介绍链接:
https://docs.python.org/3/library/datetime.html?highlight=datetime#module-datetime
对于datetime是一种以年-月-日(datetime.time)、年-月-日 时-分-秒(datetime.datetime)、…等以正常的时间为单位的一种格式。在处理数据的与时间相关的数据集往往都需要用到datetime来进行处理分析。
但对于常见的原始数据,相关的时间数据常为string数据,这样的就需要想办法将string转变为datetime数据的方法。
str数据转换成datetime数据
对于规则的原始时间数据
如“2019-08-01”这类年月日单位都是使用同一符号进行分割的原始时间数据。可以:
time_str = '2019-08-01' #原始时间数据的格式
time_split = time_str.split('-') #通过str.split的函数将原始时间数据根据‘-’进行切分
#输出结果为['2019','08','01']
#注意,此时的切分后的数据仍为str格式组成的一个列表
#此时可以使用使用map函数来进行转换
time_int = list(map(int, time_split))
#或者
time_int = [int(i) for i in time_split]
#这样处理后数据结果应为[2019,8,1]
#使用datetime.date(Y,m,d)将Str数据转化为具有年月日信息的datetime格式
time_datetime = datetime.date(*time_int)
#上面使用了*是为了将list拆分为一个个的独立参数,上面可以看到对于datetime.date的输入时需要Y(年),m(月),d(日)单独输入的。并不支持直接的list数据输入
对于不规则的原始时间数据
如‘2019,08-01’或者’2019-08-01 16:59:34’这一类的数据,可以通过正则表达式来时间对数据的切分。