提取含日期字符串并格式化输出

在Python中处理农历日期:自定义格式化方法 【附:python生成Excel日历/-带有农历注释 完整代码】 由于lunardate库没有提供strftime这样的方法,我们需要自定义一个函数来格式化农历日期。这个函数可以接收一个LunarDate对象,然后返回一个按照指定格式字符串生成的字符串。 阅读详情

背景

OCR识别的字符串中,日期类型存在字符串中,需要提取出来,并格式化

环境以及依赖package

NStudyPy==0.0.12 NStudyPy 工具包 , 一个有用的工具包,可以简化开发流程,详细介绍可以参考 NStudyPy
本教程使用 python 3.10.13 作为开发环境 , 原则上适用于 python 3.9+
本教程开发环境为 windows 10 ,原则上其他系统应该也可以 , 但请注意需要安装对应环境的 poppler, 同时需注意配置 环境变量, 环境变量配置请参阅本站其他文档

!!本站支持全文搜索。

主要流程

  1. 创建项目,安装依赖
pip install NStudyPy==0.0.12
  1. 调用方法

from NStudyPy import PyDate

# 示例日期字符串
date_strs = [
    '有效2024-06-18', "日期:2024-06-18结束", '2024-06-18有效',
    '日期:2024/06/18', '2024/6/18', '2024年06月18日',
    '日期2024年6月8日', '24年6月8日', '024年6月8日',
]

for d in date_strs:
    print(f"原始日期字符串:{d}\t\t 格式化后字符串:\t\t{PyDate.format_date(d)}")

  1. 核心源码
_reg_date = re.compile(r'(\d{2,4}).*?(\d{1,2}).*?(\d{1,2})')

def format_date(date_str: str) -> str:
    """
    格式化日期字符串
    :param date_str: 任意包含日期的字符串
    :return: 格式化后的日期字符串 yyyy-mm-dd日
    """
    match = _reg_date.search(date_str)
    if match:
        year, month, day = match.groups()
        if len(year) == 2:
            year = '20' + year
        elif len(year) == 3:
            year = '2' + year
        return f"{year}-{month.zfill(2)}-{day.zfill(2)}"
    else:
        return None

52_Pandas处理日期和时间列(字符串转换、日期提取等) 将解释如何操作表示 pandas.DataFrame 的日期和时间(日期和时间)的列。字符串与 datetime64[ns] 类型的相互转换,将日期和时间提取为数字的方法等。以下内容进行说明。 阅读详情

相关推荐

JavaScript日期格式化技术实践

字符串分割是处理文本数据的基础技术之一,在日期解析中扮演着关键角色。JavaScript 提供了多种方法来分割字符串,如split()slice(), 和等。在日期解析的上下文中,split()方法因其灵活性和强大功能而特别有用。通过使用正则表达式或特定字符作为分隔符,split()能够将日期字符串分解成易于处理的组件。在日常的开发工作中,经常会遇到需要对日期进行格式化的场景,以适应不同的显示或存储需求。在JavaScript中,虽然有内置的Date。

weixin_42351520的博客 1045

从字符串中提取指定日期和时间(Python)(初学者)

从字符串中提取指定日期和时间(Python)(初学者),使用三种方法写出(半原创半搬运)

GHK_Bi_Lian的博客 4939

python 提取文字段落中的日期字符串

在日常业务开发中常常会碰到需要从一段文字中提取时间的情况。例如从文字中提取发布时间、创建时间等。针对不同的文字情况、不同的时间格式,这里整理一份关于提取大部分文字段落中日期时间的代码。有需要的直接调用即可。 代码作用请参考我的文章《python 提取文字段落中的日期字符串》:https://blog.youkuaiyun.com/qq_23730073/article/details/126975066。 主要是提取阿拉伯数字的日期字符串,例如:需要识别的文字段,从“技术总是要日积月累的,我是技术空间,欢迎关注我。此文章2022-09-21发布”提取日期。 测试了部分情况: "技术总是要日积月累的,我是技术空间,欢迎关注我。此文章2022-09-21发布" "技术总是要日积月累的,我是技术空间,欢迎关注我。此文章2022/09/21发布" "技术总是要日积月累的,我是技术空间,欢迎关注我。此文章2022-9-21发布" "技术总是要日积月累的,我是技术空间,欢迎关注我。此文章2022-09-21 08:01发布“ 适用情况不止以上这些。也可以参考代码补充正则。

python获取月份字符串_python 正则表达式获取字符串中所有的日期和时间

提取日期前的处理1.处理文本数据的日期格式统一化text = "2015年8月31日,衢州元立金属制品有限公司仓储公司(以下简称元立仓储公司)成品仓库发生一起物体打击事故,造成直接经济损失95万元。"text1 = "2015/12/28下达行政处罚决定书"text2 = "2015年8月发生一起物体打击事故"# 对文本处理一下 # 2015-8-31 2015-12-28text = text...

weixin_39927378的博客 1201

ubuntu恢复分区表——testdisk

testdisk恢复ubuntu分区表testdisk介绍安装testdisk使用testdisk恢复分区表 testdisk介绍 testdisk 具有广泛的功能,包括恢复丢失或损坏的分区和使不能启动磁盘可以重新启动,也经常被用来恢复被误删的文件。 安装testdisk 如果系统分区表被删除,需要使用ubuntu的启动盘,选择try ubnutu模式进入试用系统。 1、可以直接在终端安装testdisk: sudo apt-get install testdisk 通过命令直接打开testdisk: t

ZNestor的博客 6459

提供一个微信投票刷票的js代码

最近几天,有个朋友找我去写一个脚本帮他 在微信上刷票、微信投票刷票,我大概看了一下,本次微信投票刷票其实就是根据微信的openid来限制,每个openid只能投三次票的限制。上图可以看出,其实只要openid,和toopenid即可,openid是自己的微信id,toopenid是投票对象的微信id,那我们定时修改openid即可给某一个人刷投票。把这段代码复制到浏览器F12之后的console里,直接回车即可开始微信投票刷票(刷新或关闭浏览器即可停止刷票)//生成随机的ip地址。

qq_858865388专业提供快速微信投票教程攻略和方法的博客 2万+

Python中f‘‘、str.format()和str%()的字符串格式化详解(2)------格式占位符的使用,日期、时间格式使用

文中主要论述python中f''、str.format()和str%()字符串格式化表达式中进制(或格式)的转换与冒号:,对象的字符串形式转换与感叹号!,指定宽度或精度,取百分比%,增加正号+或负号-,增加标志(flags),日期、时间格式使用。

Python基础详解教程,让编程变得简单! 8961

Python+OpenCV实现游戏自动刷怪脚本(附完整代码)

本文详细介绍了如何使用Python和OpenCV开发游戏自动刷怪脚本,涵盖环境搭建、图像识别、行为决策引擎及反检测优化等关键技术。通过完整的代码示例,帮助开发者实现从简单脚本到智能自动化系统的升级,提升游戏效率。

weixin_29032489的博客 517

python:格式化 时间和日期

返回值是struct_time格式,即:(tm_year,tm_mon,tm_mday,tm_hour,tm_min,tm_sec,tm_wday,tm_yday,tm_isdst)。tuple:传入时间元组或 time.struct_time 代表时间的对象。解释:时间戳是指格林威治时间自1970年1月1日(00:00:00 GMT)至当前时间的总秒数。format:用英文引号引入目标时间格式,比如:‘%Y-%m-%d %H:%M:%S’用法:获取格式化的时间,将元组时间转为字符串时间。

白骨梦儿 7195

从Chimera到ChimeraX:科研绘图升级指南,让你的论文配图更专业

本文详细介绍了从UCSF Chimera升级到ChimeraX的科研绘图指南,帮助研究者提升论文配图质量。ChimeraX在渲染引擎、大分子处理能力和动画功能上具有显著优势,特别适合生命科学和结构生物学领域。文章涵盖材质设置、专业配色、工作流程和期刊适配等核心技巧,助力产出出版级分子可视化图像。

weixin_33670786的博客 928

解密美团外卖API:mtgsig和waimai_sign参数生成原理与Python实现

本文深入解析了美团外卖API中核心风控参数mtgsig和waimai_sign的生成原理与实现方法。文章详细拆解了waimai_sign作为业务数据签名、mtgsig作为请求环境签名的不同角色与生成逻辑,并通过Python代码示例演示了如何通过逆向工程、Frida动态Hook等技术手段模拟签名生成过程,为开发者理解移动端API安全机制提供了实战参考。

weixin_29325515的博客 551

Python 时间提取并格式化处理

在进行文本预处理的过程中,有时候需要将文本中的日期数据提取出来并将其按照一定的格式标准化,进而进行比较大小之类的操作。 1、日期提取 在文本中日期呈现的方式各种各样,如:2018.12.2、2018.12.02、2018-12-2、2018-12-02、201/12/2、二零一八年十二月二日、2018年12月2日 等等,我们可以利用正则表达式将其提取出来。 假设存在如下文本数据,我们需要提取文中...

Xiaozhu的博客 8422

在 SAP BAS 中扩展标准 SAP Fiori 应用并部署到 ABAP 环境的完整实践指南

SAPUI5 Adaptation Project 摘要(148字) SAPUI5 Adaptation Project 提供了一种高效扩展标准Fiori应用的方式,通过创建应用变体(Application Variant)实现差异化定制。开发者可在SAP BAS中使用可视化编辑器修改UI元素(如隐藏字段、调整表格布局、添加按钮等),而无需重写业务逻辑。变体部署到ABAP环境后,可与标准应用并行使用,且能随原应用升级保持同步。典型应用场景包括为不同用户角色定制简化界面或增强特定功能,既满足个性化需求,又保留

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 184

Python 中如何格式化日期

介绍 Python 附带了各种有用的对象,可以直接使用。例如日期对象就是一个例子。由于日期和时间的复杂性,日期类型很难从头开始操作。所幸,Python 日期对象将日期转换成所需的字符串格式变得相当容易。 日期格式化是作为程序员的你最重要的任务之一。不同地区表示日期/时间的方法各不相同,因此你作为程序员的一大目标是以用户可读的方式显示日期值。 例如,你可能需要用数字格式表示日期值,如 “02-23-2018”。另一方面,你可能需要以更长的文本格式(如 “Feb 23,2018”)表示相同的日期。在另一种情况下

python学习者的博客 1万+

排队论 | 排队论建模方法

排队论 | 排队论建模方法

算法如诗的博客 352

继电器控制LED灯具导致触点烧蚀粘连的解决办法

继电器控制LED灯具导致触点烧蚀粘连的解决办法

2700

Python :格式化日期

介绍 Python 附带了各种有用的对象,可以直接使用。例如日期对象就是一个例子。由于日期和时间的复杂性,日期类型很难从头开始操作。所幸,Python 日期对象将日期转换成所需的字符串格式变得相当容易。 日期格式化是作为程序员的你最重要的任务之一。不同地区表示日期/时间的方法各不相同,因此你作为程序员的一大目标是以用户可读的方式显示日期值。 例如,你可能需要用数字格式表示日期值,如 “02-23-2018”。另一方面,你可能需要以更长的文本格式(如 “Feb 23,2018”)表示相同的日期。在另一种情况下

sehun_sx的博客 6661

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

mysql时间日期函数、获取当前日期和时间、日期和时间格式化、提取日期部分、日期和时间的算术操作、其他日期函数、日期和时间的比较、日期字符串转换

mysql时间日期函数、获取当前日期和时间、日期和时间格式化、提取日期部分、日期和时间的算术操作、其他日期函数、日期和时间的比较、日期字符串转换

jingyu飞鸟 4603

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

SimpleDateFormat格式化日期

SimpleDateFormat的用法 通过这个类的处理可以按照你想要的格式输出日期,其中各字母表达的意思如下: yyyy:年 MM:月 dd:日 hh:1~12小时制(1-12) HH:24小时制(0-23) mm:分 ss:秒 S:毫秒 E:星期几 D:一年中的第几天 F:一月中的第几个星期(会把这个月总共过的天数除以7) w:一年中的第几个星期 W:一月中的第几星期(会根据实际情况来算) a...

IP合法判断 8483

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

[JAVA]日期格式化

java日期格式化

weixin_66834439的博客 2493

scala提取字符串中数字_如何在Scala中以字符串或数字的形式获取日期,月份和年份?...

scala提取字符串中数字The "calendar" class handles working with date and time in Scala, the class generates the current time in the following format, “ calendar”类处理Scala中的日期和时间 ,该类以以下格式生成当前时间, Thu Apr 23...

cumudi0723的博客 1947

VB中的日期格式化与字符串操作

本文总结了VB中日期格式化与字符串转换的常用方法。主要介绍了两种将日期转换为3位编码的方法:1) 利用内置函数组合实现,包括Strings.Right、ToString格式化和自定义O_ParseMonth函数;2) 通过硬编码方式逐个处理年月日的转换。文中详细分析了VB日期处理中的Date类型、CDate转换函数、AddDays日期运算以及ToString格式化等核心操作,并提供了完整的代码示例。这些方法适用于需要将标准日期格式转换为特殊编码的工业场景,如将"2025/05/27"转换为"55T"。

weixin_45409198的博客 1612

[v8-js] 日期字符串格式化 | 日期缓存系统

1.将数值化==时间戳转换为人类可读==的日期字符串 2.实现==高效本地时间转换==

No Game No Life 719

关于使用JS获取当前时间并格式化输出

js获取当前时间,格式化输出当前时间,一步提取当前时间的年月日和时分秒

weixin_43426379的博客 5003

C/C++语言 从日期格式字符串中提取年月日时分秒

系列文章目录 文章目录系列文章目录前言一、日期格式字符串二、strftime函数1.描述2.声明3.形参4.返回值总结 前言 上一篇文章《C/C++语言 获取系统时间并格式化输出》中讲到了如何获取系统时间,如何将系统时间戳转换成tm结构并拼接为日期格式的字符串,想了解的童鞋可以点击链接查看;本篇文章主要讲解,如何从日期格式字符串中提取年月日时分秒。 一、日期格式字符串 文章示例的日期格式为“YYYY-MM-DD HH:MM:SS”。上篇文章介绍系统时间格式化输出时就使用的这种格式。使用C/C++开发时,

烫手的热山药的博客 8025

MySQL 日期函数与字符串函数

本文系统总结了MySQL中高频使用的日期与字符串函数,涵盖90%以上的业务场景需求。日期函数部分详解了获取当前时间(NOW/CURDATE)、格式化输出(DATE_FORMAT)、日期计算(DATE_ADD/DATEDIFF)和提取日期元素(YEAR/MONTH)等核心功能,并配以实际业务示例。字符串函数部分重点介绍了文本处理(CONCAT/SUBSTRING)、格式转换(LOWER/TRIM)和特殊处理(REPLACE/REGEXP)等实用技巧。通过语法说明、功能解析和场景化示例,帮助开发者快速掌握数据处

weixin_73939910的博客 2162
上一篇: 合并多个JSON文件为一个
下一篇: windows系统随机文件内容生成
Jack_software
博客等级 码龄17年 1324粉丝 57原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jack_software

感谢打赏,我努力提供优质内容~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值