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

python获取当月最后工作日实现在数据库查询指定日期数据(python+sql)

问题描述:
处理数据库业务数据的时候,会遇到查询某一月最后一个工作日的数据此时可以使用sql+python结合实现自动获取当月最后一个工作日日期作为变量
代码实现:
python:

def get_workingday(self):
        self.now = pd.Timestamp.now()
        #self.now.year:本年
        #self.now.month:当月,在这个基础上+-可以实现查询前几个月份的工作日
        self.last_day=pd.Timestamp(year=self.now.year,month=self.now.month,day=1)+pd.offsets.MonthEnd(1)
        while self.last_day.weekday()>=5:
            self.last_day-=pd.Timedelta(days=1)
            #此处的日期可以依据数据库里面定义的日期字段类型转换为想要的类型
            #int:int(self.last_day.strftime("%Y%m%d"))
            #string:self.last_day.strftime("%Y%m%d")
            self.last_date=int(self.last_day.strftime("%Y%m%d"))
        else:
        	self.last_date=int(self.last_day.strftime("%Y%m%d"))
        print(type(self.last_date))
        return self.last_date

sql CRUD部分:

def read_sql(self):
        Data = ReadData
        self.date=Data.get_workingday()
        #本地数据库连接配置
        self.connection_string=(
            "DSN=***;"
            "Host=****;"
            "Port=****;"  
        )
        
        self.conn=pyodbc.connect(self.connection_string, autocommit=True)
        #此处的self.date显示的就是上述的get_workingday获取的最后工作日
        self.hive_sql=f"select * from dbname where date={self.date} ;"
        
        self.df=pd.read_sql(self.hive_sql,self.conn)
        return self.df

http://www.kler.cn/news/328695.html

相关文章:

  • B+树索引结构的优点
  • 习题1 程序设计和C语言
  • 08-Registry搭建docker私仓
  • Python 如何使用 Pandas 进行数据分析
  • 实战OpenCV之轮廓检测
  • 828华为云征文|部署在线文档应用程序 CodeX Docs
  • cisp-pte多少钱考一次?cisp-pte报考费用及报考条件一次说清楚!
  • ARM V8 A32常用指令集
  • 华为OD机试真题---找终点
  • excel 处理数据的常用场景之考勤表的制作
  • 递归函数设计技巧
  • 一次实践:给自己的手机摄像头进行相机标定
  • 【小沐学GIS】基于ubuntu+three.js的OSM建筑模型显示(node.js、Python)
  • 【论文阅读】基于真实数据感知的模型功能窃取攻击
  • 区块链可投会议CCF C--FC 2025 截止10.8 附录用率
  • 滚雪球学MySQL[1.2讲]:安装与配置
  • Qt界面编程01
  • python-patterns:Python 设计模式大全
  • 个人项目简单https服务配置
  • STL之list篇(上)初识list容器,了解其核心机制,实例化对象进行分析
  • Angular 2 用户输入
  • 安全的价值:构建现代企业的基础
  • k8s篇之数据挂载类型及区别
  • Python编码系列—Python命令模式:将请求封装为对象
  • 数据分析师之Excel学习
  • CI/CD详细流程
  • 传输层协议 --- UDP
  • C++ 线程
  • Linux 应用层自定义协议与序列化
  • 【Java数据结构】 ArrayList 顺序表