import pandas as pd

import calendar

import datetime

# 生成日期范围

date = pd.date_range("2020-01-01","2020-12-31",freq="D")

# 将日期转化为字符串

dt_str = [i.strftime("%Y%m%d") for i in date]

# 日期对应的星期(数值)

week = [int(i.strftime("%w")) for i in date] # 0表示星期日

# 日期对应的星期(中文)

week_desc = []

def week_desc_info():

for i in week:

if i == 0:

week_desc.append("星期天")

elif i == 1:

week_desc.append("星期一")

elif i == 2:

week_desc.append("星期二")

elif i == 3:

week_desc.append("星期三")

elif i == 4:

week_desc.append("星期四")

elif i == 5:

week_desc.append("星期五")

elif i == 6:

week_desc.append("星期六")

return week_desc

week_desc = week_desc_info()

# 月份(数值,01,02,...)

month = [i.strftime("%m") for i in date]

# 月份(中文)

month_desc = [str(i) + "月" for i in month]

# 季度(数值)

season = []

def season_desc_info():

for i in list(int(j) for j in month):

if i <= 3:

season.append(1)

elif i > 3 and i <= 6:

season.append(2)

elif i > 6 and i <= 9:

season.append(3)

elif i > 9 and i <= 12:

season.append(4)

return season

season = season_desc_info()

# 季度(中文)

season_desc = ["第" + str(i) + "季度" for i in season]

# 年份(数值)

year = [int(i.strftime("%Y")) for i in date]

# 年份(中文)

year_desc = [ str(i) + "年" for i in year]

# 一年中的第几天

date_seq = [int(i.strftime("%j")) for i in date]

# 一年中的第几周

week_seq = [int(i.strftime("%U")) + 1 for i in date]

# 是否周末

weekend_flag = []

def is_weekend_flag():

for i in week:

if i == 0 or i == 6:

weekend_flag.append(1)

else:

weekend_flag.append(0)

return weekend_flag

weekend_flag = is_weekend_flag()

# 是否月末

monend_flag = []

def is_month_lastday():

for i in date:

#获得当月一共有多少天(也就是最后一天的日期)

_,days_in_month = calendar.monthrange(i.year, i.month)

# 获取当天是当月中的第几天

day_of_month =int(i.strftime("%d"))

if day_of_month == days_in_month:

monend_flag.append(1)

else:

monend_flag.append(0)

return monend_flag

monend_flag = is_month_lastday()

# 节假日标识

holiday_tp = []

# 节假日名称

holiday_desc = []

def is_holiday_desc():

for i in dt_str:

if i == '20200101':

holiday_desc.append("元旦")

elif i in ('20200124','20200125','20200126','20200127','20200128','20200129','20200130'):

holiday_desc.append("春节")

elif i in ('20200404','20200405','20200406'):

holiday_desc.append("清明节")

elif i in ('20200501','20200502','20200503','20200504','20200505'):

holiday_desc.append("国际劳动节")

elif i in ('20200625','20200626','20200627'):

holiday_desc.append("端午节")

elif i in ('20201001'):

holiday_desc.append("中秋节/国庆节")

elif i in ('20201002','20201003','20201004','20201005','20201006','20201007','20201008'):

holiday_desc.append("国庆节")

else:

holiday_desc.append("非节假日")

return holiday_desc

holiday_desc = is_holiday_desc()

# 周末标识

weekend_desc = []

def is_weekend_desc():

for i in date:

date_str = i.strftime("%Y%m%d")

if date_str in ('20200119','20200201','20200426','20200509','20200628','20200927','20201010'):

weekend_desc.append("非周末")

else:

week_id = int(i.strftime("%w"))

if week_id in (0,6):

weekend_desc.append("周末")

else:

weekend_desc.append("非周末")

return weekend_desc

weekend_desc = is_weekend_desc()

# 月末标识

monend_desc = []

def is_monend_desc():

for i in monend_flag:

if i == 1:

monend_desc.append("月末")

else:

monend_desc.append("非月末")

return monend_desc

monend_desc = is_monend_desc()

# 旬(数值)

xun_id = []

def get_xun_id():

for i in date:

# 获取当天是当月中的第几天

day_of_month =int(i.strftime("%d"))

if day_of_month <= 10:

xun_id.append(1)

elif day_of_month > 10 and day_of_month <= 20:

xun_id.append(2)

else:

xun_id.append(3)

return xun_id

xun_id = get_xun_id()

# 旬(中文)

xun_desc = []

def get_xun_desc():

for i in xun_id:

if i == 1:

xun_desc.append("上旬")

elif i == 2:

xun_desc.append("中旬")

else:

xun_desc.append("下旬")

return xun_desc

xun_desc = get_xun_desc()

# 周(数值)

week_seq_id = []

def get_week_seq_id():

for i in date:

# 构造当前月的1号

first_day_of_month =datetime.date(i.year, i.month, 1)

# 一年中的第几周

end = int(i.strftime("%U")) + 1

begin = int(first_day_of_month.strftime("%U")) + 1

week_seq_id.append(end - begin + 1)

return week_seq_id

week_seq_id=get_week_seq_id()

# 周(中文)

week_seq_desc = []

def get_week_seq_desc():

for i in week_seq_id:

if i == 1:

week_seq_desc.append("第一周")

elif i == 2:

week_seq_desc.append("第二周")

elif i == 3:

week_seq_desc.append("第三周")

elif i == 4:

week_seq_desc.append("第四周")

elif i == 5:

week_seq_desc.append("第五周")

elif i == 6:

week_seq_desc.append("第六周")

else:

week_seq_desc.append("第七周")

return week_seq_desc

week_seq_desc = get_week_seq_desc()

# 构造日期维表

dataframe = pd.DataFrame({'date':dt_str,'week':week,'week_desc':week_desc,\

'month':month,'month_desc':month_desc,\

'season':season,'season_desc':season_desc,\

'year':year,'year_desc':year_desc,\

'date_seq':date_seq,'week_seq':week_seq,\

'weekend_flag':weekend_flag,'monend_flag':monend_flag,\

'holiday_desc':holiday_desc,\

'weekend_desc':weekend_desc,'monend_desc':monend_desc,\

'xun_id':xun_id,'xun_desc':xun_desc,\

'week_seq_id':week_seq_id,'week_seq_desc':week_seq_desc})

dataframe.to_excel('./data/date2020.xlsx',index=False)

python日期对照表_2020年日期表-python实现相关推荐

  1. python输入数字翻译成星期几-Python练习笔记——计算输入日期为改年的第几天、星期几...

    # 输入年月日,如:1995年12月10日,计算是该年的第几天? # 同时计算出当天是星期几? print("请依据提示依次输入您想查询的年 月 日") # 第一段代码块(年月日输 ...

  2. python获取当前日期的前一天_【python】datetime获取日期,前一天日期

    1.获取字符串型当前日期 2016-10-09格式 import datetime today = datetime.date.today() #datetime.date类型当前日期 str_tod ...

  3. python pandas DataFrame 字符串转日期格式

    python pandas DataFrame 字符串转日期格式 import pandas as pd import numpy as np df1 = pd.DataFrame({'日期': [' ...

  4. python 获取当前时间和日期

    python 获取当前时间和日期 import time def get_now_time():"""获取当前日期时间:return:当前日期时间"" ...

  5. 如何在python中找到两个日期时间对象之间的时差?

    本文翻译自:How do I find the time difference between two datetime objects in python? 如何分辨两个datetime对象之间的时 ...

  6. python时间序列函数_python时间日期函数与利用pandas进行时间序列处理详解

    python标准库包含于日期(date)和时间(time)数据的数据类型,datetime.time以及calendar模块会被经常用到. datetime以毫秒形式存储日期和时间,datetime. ...

  7. python读取excel日期内容读出来是数字-Python读取Excel,日期列读出来是数字的处理...

    Python读取Excel,里面如果是日期,直接读出来是float类型,无法直接使用. 通过判断读取表格的数据类型ctype,进一步处理. 返回的单元格内容的类型有5种: ctype: 0 empty ...

  8. python获取excel某一列-Python从Excel中读取日期一列的方法

    如下所示: import xlrd import datetime file=u"伏特加.xls"#注意读中文文件名稍微处理一下 data=xlrd.open_workbook(f ...

  9. python读取excel一列-Python从Excel中读取日期一列的方法

    import xlrd import datetime file=u"伏特加.xls"#注意读中文文件名稍微处理一下 data=xlrd.open_workbook(file) t ...

最新文章

  1. 【 C 】高级指针话题之高级声明的演进
  2. java在线聊天项目0.4版本 制作服务端接收连接,客户端连接功能 新增客户端窗口打开时光标指向下边文本域功能,使用WindowListener监听WindowAdapter...
  3. 动态行和列的表格,展现方式
  4. 在线普通话转粤语发音_最快的学说粤语的办法:粤语拼音
  5. (没解决的问题)c++关于 while(cin >> )之后无法恢复cin流的问题,哪位知道怎么恢复告知下,不胜感激!!!
  6. Tmux: 打造精致与实用并存的终端
  7. python获取绝对路径的区别_python 获取路径不同方法的比较
  8. servlet下根据相对路径找资源
  9. SentinelResource注解配置下_客户自定义限流处理_削峰填谷_流量控制_速率控制_服务熔断_服务降级---微服务升级_SpringCloud Alibaba工作笔记0047
  10. 实验1 查看cpu和内存,用机器指令和汇编指令编程
  11. mysql 重启爆红,MySQL 启动报错
  12. weblogic 部署应用步骤
  13. 切换不了摄像头 高拍仪_高拍仪常见问题解答
  14. 是时候更换你的无线路由器(wifi暴力破解)
  15. 手机电脑普通浏览器或UC浏览器缓存或下载的Y2hlbmppbmdjb25n0 Y2hlbmppbmdjb25n1 m3u8视频.ts格式视频合并工具成一个mp4
  16. NAT ALG原理与应用
  17. 网络工程师笔记--网络安全技术
  18. MyBatis学习----使用mybatis对单表进行操作
  19. swift中检测跳转苹果自带地图、高德地图、百度地图、腾讯地图
  20. ajax传cookie,为什么jquery的.ajax()方法没有发送我的会话cookie?

热门文章

  1. 计算机网络提供服务靠,计算机网络体系结构及协议之通信子网的操作方式和网络层提供的服务...
  2. mysql 执行效率命令_MySQL优化--explain 分析sql语句执行效率
  3. rust服务器假人文件,英语谚语总结计划大全.docx
  4. oracle 12c pdb开启和关闭,及设置开机自启动
  5. php时间序列比对,常用在线序列比对工具
  6. lcl手术和飞秒区别_想知道自己适合哪种近视手术?Mark!
  7. 基于JAVA+Servlet+JSP+MYSQL的人力资源管理系统
  8. 基于JAVA+SpringMVC+MYSQL的勤工助学管理系统
  9. python蟒蛇绘制
  10. Java字符串与日期互转