当前位置: 首页 > news >正文

python自建日历表格

日期,星期、月份、季度、是否周末,是否月末、每月第一天等信息

import pandas as pd import datetime import calendar import numpy as np date=pd.date_range('2024-01-01','2024-12-31',freq='D') # print(date) date_str=[i.strftime('%Y-%m-%d') for i in date] # print(date_str) week=[int(i.strftime('%w')) for i in date] #0表示星期日 # print(week) 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() month=[i.strftime('%m') for i in date] month_desc=[str(int(i))+'月' for i in month] season=[int(np.floor((int(i)+2.9)/3)) for i in month] season_desc=['第'+str(i)+'季度' for i in season] dayofyear=[int(i.strftime('%j')) for i in date] #一年中的第几天 weekofyear=[int(i.strftime('%W')) for i in date] #一年中第几周,U也是周,w从1到7,u从0到6描述每周的星期 weekend=[] def is_weekend_flag(): for i in week: if i==0 or i==6: weekend.append(1) else: weekend.append(0) return weekend weekend=is_weekend_flag() #是否月末 month_end=[] 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: month_end.append(1) else: month_end.append(0) return month_end month_end=is_month_lastday() # month_end=[calendar.monthrange(i.year,i.month)[1:] for i in date] month_first_day=[datetime.date(i.year,i.month,1) for i in date] datedf=pd.DataFrame({'riqi':date_str,'星期':week,'星期中文':week_desc,'月份':month,'月份中文':month_desc,'季度':season,'季度中文':season_desc,'天':dayofyear, '周':weekofyear,'是否周末':weekend,'是否月末':month_end,'月的第一天':month_first_day}) print(datedf.head(10)) print(datedf.tail(10)) datedf.to_excel('/Users/kangyongqing/Downloads/'+'日历'+str(datetime.date.today())+'.xlsx',index=False)

查看并保存日历到本地:

import calendar cal=calendar.calendar(2024,2,1,6,4) print(cal) print(type(cal)) with open('/Users/kangyongqing/Downloads/未命名.txt','w',encoding='utf-8') as file: file.write(cal)

2,1,6,4为控制展示格式间距,可以适当调整。

使用with语句是一个好习惯,因为它会在执行完代码块后自动关闭文件。

http://www.jsqmd.com/news/1120922/

相关文章:

  • 数字图像加密核心技术:从混沌系统到多维置乱与动态扩散的工程实践
  • CANN源码分析执行总纲
  • 零基础Python入门:FutureCoder交互式学习平台全攻略
  • Windows安全加固终极指南:如何用HardeningKitty快速提升系统安全等级
  • Windows Research Kernel (WRK) 对象管理器详解:Windows内核对象系统的设计哲学
  • 3个步骤实现专业级AI绿幕抠像:CorridorKey深度解析
  • PASS技术:下一代无线网络的天线架构革命
  • 国产编程大模型选型实战:成本、速度与可靠性的三角平衡
  • 计算机使用代理框架Cua:多模态AI与安全沙箱融合的技术架构
  • 解锁高效内容保护:Hidden Word智能Unicode水印实战指南
  • Python+Selenium+PyTest自动化测试流水线实战:从POM模式到CI/CD集成
  • 3种压缩架构解决存储成本与查询性能平衡:基于Apache Doris的深度实战
  • Exercises Dataset数据分析:使用Tableau或Power BI创建报表的完整指南
  • 炉石传说HsMod插件:如何通过50+实用功能全面优化你的游戏体验
  • SteamShutdown完整指南:如何让电脑在Steam下载完成后自动关机
  • 高速PCB设计中的信号完整性挑战与解决方案
  • 【亲测免费】 E-Viewer:e-hentai.org 的UWP客户端
  • Spirit Web Player实战案例:从SVG到动态动画的完整实现过程
  • Crucible在学术研究中的应用:前沿符号验证技术案例分析
  • Kronos:开启金融市场的AI语言革命,让机器真正读懂K线图
  • svu社区生态:插件、扩展和第三方集成完全指南
  • JetBrains IDE试用期重置:30天开发工具续期终极解决方案
  • Grok系列大模型使用指南与合规接入方案
  • Touch WX环境搭建教程:从安装到运行的5个简单步骤
  • 提升用户体验:使用spatie/menu实现动态高亮当前页面菜单的3种方法
  • nwpu-cram之移动应用性能优化:工具与方法
  • GhostDB深度解析:分布式内存KV数据库如何实现微秒级性能?
  • OpenCV实现虚拟计算器:非接触式交互实战
  • Agent Zero模型配置:从零到一的智能代理搭建之旅
  • Playwright-Skill终极指南:让Claude AI自动完成网页测试的完整教程