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

在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

Monocle2拟时轨迹基因模块的GO富集解析

本文详细解析了如何对Monocle2拟时分析中得到的基因表达模块进行GO富集分析。通过从热图对象中提取聚类模块,并利用clusterProfiler等工具进行功能注释,将抽象的基因表达时序模式转化为可解释的生物学功能主题,如免疫应答、细胞外基质组织等,从而深入理解细胞命运转变的驱动机制。

gpt4scribbler的博客 500

b站up“麦辣翅翅”《YOLOv8修改损失函数》问题解决RuntimeError: The size of tensor a (4) must match the size of tensor

b站up“麦辣翅翅”《YOLOv8修改损失函数》问题解决RuntimeError: The size of tensor a (4) must match the size of tensor ;TypeError: bbox_iou() got an unexpected keyword argument 'xywh‘

weixin_68331871的博客 3020

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

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

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

Labview 机器视觉(4)之 图像处理进阶 - 动态ROI与批量保存

本文深入探讨了LabVIEW机器视觉中动态ROI与批量保存两大进阶技术。动态ROI通过模式匹配或粒子分析实现检测区域的自动追踪,解决了产品位置变化带来的挑战。同时,文章详细介绍了如何设计高效的文件命名规则与异步保存机制,以实现海量图像数据的批量保存与管理,从而构建稳定、高效的工业自动化检测系统。

weixin_29234423的博客 219

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

Hyper-V显卡直通实战:手把手解决Windows 11虚拟机错误码43(附完整参数配置)

本文详细解析了在Windows 11 Hyper-V虚拟机中配置显卡直通时遭遇错误码43的根源,并提供了从环境检查、核心PowerShell命令(如Set-VMGpuPartitionAdapter)配置到虚拟机内驱动替换的完整实战解决方案,帮助用户彻底解决显卡驱动无法加载的问题。

weixin_29238147的博客 898

MATLAB基础应用精讲-【数模应用】游程检验(附MATLAB、R语言和python代码实现)

游程检验是一种非参数性统计假设的检验方法,它是游程总数检验和最大游程检验的总称,用于两个独立样本的比较和观测结果随机性的检验测试。​游程检验亦称“连贯检验”,是根据样本标志表现排列所形成的游程的多少进行判断的检验方法。[2]例1:设某样本n=12人的标志表现为男、女,有以下三种排列。(i) 男\男,女\女\女,男,女\女,男\男\男\男;(ii) 男\男\男\男\男\男\男,女\女\女\女\女;(iii) 男,女,男,女,男,女,男,女,男,女,男\男;连续出现男或女的区段称为游程。

qq_36130719的博客 608

Python 时间提取并格式化处理

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

Xiaozhu的博客 8422

手把手教您解决 AdGuard Home DNS重写功能失效的问题

AdGuard Home 设置了 DNS 重写,规则明明没问题,客户端却死活解析不到内网 IP?🤯 别急着重装!🚫 本文手把手教你如何解决软路由 DNS 解析“玄学”故障!🛠️🚀

XiaoqiangClub的博客 916

Python 中如何格式化日期

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

python学习者的博客 1万+

rk3568 适配以太网(mac 2 mac)

MDIO(Management Data Input/Output)是一种管理数据输入/输出协议,用于在以太网交换机和PHY(物理层收发器)之间进行通信。在Android中,MDIO总线用于控制网络接口的PHY芯片,例如通过MDIO总线访问PHY芯片的寄存器。这些寄存器包含了一些关于网络连接状态、链路速度和其他计算机网络相关信息的数据。MDIO总线通常由网络接口控制器(NIC)使用,以便在OS中管理PHY芯片。在Android设备上,MDIO总线通常由内核驱动程序管理,并且可以通过 /sys/bus/mdi

weixin_35723192的博客 2453

AI智能体丨使用Coze一键生成道教国学智慧语录视频,涨粉快好变现!(附保姆级教程)

该教程详解如何通过自动化流程批量制作道家国学视频,将晦涩哲理转化为轻量化内容,适配短视频平台需求。

李同学Lino的博客 3498

Python :格式化日期

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

sehun_sx的博客 6661

怀旧版电脑GBC模拟器

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

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

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

jingyu飞鸟 4603

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

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

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

[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 718

关于使用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、付费专栏及课程。

余额充值