最近有個需求,就是有乙個時間段的日期格式的字串列表,其中有缺失的日期,想要寫乙個指令碼來查出缺失的日期,算是個小工具,直接上**。
importdatetime
def get_no_date(date_str_li, start_date='', end_date=''
):
"""獲取沒有列表中沒有包含的的日期區間的日期
args:
start_date: 查詢的起始日期字串,預設為date_li中最小值
end_date: 查詢的終止日期的字串, 預設為date_li中最大值
date_str_li: 所有需要查詢的日期的列表
"""if
notdate_str_li:
raise valueerror('
list can\'t empty')
#所有檔名稱,日期的列表
try:
date_li = [datetime.datetime.strptime(date_time, '
%y-%m-%d
') for date_time in
date_str_li]
except
:
raise valueerror('
your values can\'t be converted')
ifend_date:
date_end = datetime.datetime.strptime(end_date, '
%y-%m-%d')
else
: date_end =max(date_li)
ifstart_date:
date_start = datetime.datetime.strptime(start_date, '
%y-%m-%d')
else
: date_start =min(date_li)
no_list =
while
true:
if date_end not
indate_li:
if date_end ==date_start:
break
date_end -= datetime.timedelta(1)
return [datetime.date.strftime(day, '
%y-%m-%d
') for day in no_list]
Python 補齊缺失日期
有dataframe型別資料data,其中有index列為日期,另有value列,補充缺失日期列index 如下 import pandas as pd import datetime 建立dataframe資料,包括index列和value列,其中index列為日期,但是格式為string格式 d...
python 獲取日期 python 獲取日期
python 獲取日期我們需要用到time模組,比如time.strftime方法 time.strftime y m d time.localtime time.time 最後用time.strftime 方法,把剛才的一大串資訊格式化成我們想要的東西,現在的結果是 2013 03 31 time...
python獲取指定間隔日期列表
import datetime from calendar import calendar defget year dates year int,date format str y m d start month 1,end month 12 獲取指定年份月份的所有日期 param year int...