Python的知识点运用-1(日期转换)

简介: Python的知识点运用-1(日期转换)

问:如何将 '星期一, 三月 13, 2023'转换成2023-03-13


看到这个问题,你的第一反应是什么???

反正我是懵逼的。不过后面一想,时间模块可以。

在这个问题后面,群友又问了一个问题,如何在本地电脑让代码到点执行?

你怎么想???

time模块可以解决,其实也不仅仅只有time模块可以解决。脑洞打开!!!

到此结束!回回归正题!


一周多没更新,本章更新一个算常用模块的知识点。该知识点是某位群友提出来的!!!本意是问有没有简单的方式得出结果,且不能太慢。


我的第一反应是用 切片 以及 字典 + datetime模块。一起来看看

from datetime import datetime
date_str = '三月 13, 2023'
# 将中文月份映射到数字月份
month_dict = {'一月': '1', '二月': '2', '三月': '3', '四月': '4', '五月': '5', '六月': '6', '七月': '7', '八月': '8', '九月': '9', '十月': '10', '十一月': '11', '十二月': '12'}
for month in month_dict:
    date_str = date_str.replace(month, month_dict[month])
date = datetime.strptime(date_str, '%m %d, %Y')
format_date = date.strftime('%Y-%m-%d')
print(format_date)
# 2023-03-13

注意:切片就不用说了吧,我这里直接拿着切片后的结果跑的。

这样就能得到结果,不过感觉有些麻烦,怎么办?

寻求网路资源,最后得到一个简单的

不过需要下载第三方模块!

import dateparser
date_str = '三月 13, 2023'
date = dateparser.parse(date_str, languages=['zh'])
format_date = date.strftime('%Y-%m-%d')
print(format_date)

这样也是可以的。不过有点慢


不过最后,提出问题的当事人,最后给出的结果,是跟第一种方式类似,不过采用了正则。

import re
month_table = {'一': '1', '二': '2', '三': '3',
               '四': '4', '五': '5', '六': '6',
               '七': '7', '八': '8', '九': '9',
               '十': '10', '十一': '11', '十二': '12'}
text = '星期一, 三月 13, 2023'
month, day, year = re.findall("([^\s]{,2})月 (\d{,2}), (\d{2,4})", text)[0]
month = month_table[month]
f"{year}-{month}-{day}"

看到上面的解决方式,你的想法是什么的。直呼大神?还是感觉麻烦?还是没必要这么写?

目录
相关文章
|
2月前
|
Python
python知识点
【8月更文挑战第27天】python知识点
34 1
WK
|
2月前
|
存储 机器学习/深度学习 JSON
Python入门知识点
Python入门覆盖历史、设计理念、变量、数据类型、控制结构等。了解Python的发展,掌握动态类型的灵活性,熟悉整数、浮点数、字符串等数据类型。学会if/else、for/while循环构建逻辑流程,使用def定义函数,lambda快速创建匿名函数。通过类实现面向对象编程,利用模块和包组织代码。掌握try-except处理异常,open()进行文件操作。利用标准库和第三方库增强功能,理解集合、字典、列表推导式的应用,深入魔法方法、递归、装饰器等高级特性,以及上下文管理器和字符串、列表、元组的操作技巧。
WK
27 0
|
8天前
|
Python
python之基础知识点
python之基础知识点
19 3
|
4月前
|
存储 Python 容器
Python新手入门,这些基础知识点你掌握了吗?
【6月更文挑战第12天】Python是新手友好的编程语言,具备解释型、面向对象、动态类型和跨平台特性。基础知识包括:变量(如整数、浮点数、字符串、列表、元组、字典和集合),运算符与控制流(如条件语句和循环),以及函数的定义与调用。要精通Python,还需学习更多如面向对象编程、模块、文件操作等内容。开始你的Python学习之旅吧!
32 0
|
21天前
|
监控 Python Windows
python知识点100篇系列-pysnooper用于调试
PySnooper是一个便捷的Python调试工具,用于监控代码执行过程及局部变量的变化,替代繁琐的打印语句。作为GitHub上的热门开源项目,它通过装饰器自动记录代码执行细节。安装简便,支持多种平台,可通过pip安装。使用时,只需在目标函数上添加装饰器即可实时查看变量变化或将其记录至日志文件。此外,还支持使用with块对特定代码段进行调试。更多详细信息可参阅其官方使用文档。
python知识点100篇系列-pysnooper用于调试
|
2月前
|
存储 Python
Python时间模块四大必备知识点
Python时间模块四大必备知识点
42 4
Python时间模块四大必备知识点
|
2月前
|
Unix 开发者 iOS开发
开发知识点-Python-virtualenv
`virtualenv`通过其简易性、灵活性与高度的可配置性,成为Python开发中推荐的环境隔离工具之一。随着Python生态的发展,类似的工具如 `venv`(Python 3.3+自带的轻量级环境构建工具)和 `pipenv`(提供更复杂的依赖管理功能)也越来越受欢迎,但 `virtualenv`仍保持着重要的地位,尤其是在需要维护旧项目或者系统没有提供最新工具的情况下。
32 1
|
3月前
|
缓存 网络协议 Linux
Linux、Python、计算机网络中的常见知识点
Linux、Python、计算机网络中的常见知识点
|
3月前
|
算法 Java Linux
python中的面试常考知识点
python中的面试常考知识点
|
4月前
|
数据采集 机器学习/深度学习 数据挖掘
python运用知识点说明
Python涵盖广泛,从基础语法(变量、数据类型、字符串操作)到高级特性(装饰器、迭代器、闭包)。常用库包括NumPy, Pandas(数据处理),Scikit-learn, TensorFlow(机器学习),Django, Flask(Web开发),Scrapy(网络爬虫)。应用于Web开发、数据分析、系统运维、游戏开发和网络爬虫。Python历经1.x、2.x到3.x版本,3.x引入重大更新,强调Unicode和函数打印等,与2.x不兼容。掌握这些能提升开发效率。【6月更文挑战第4天】
47 2
下一篇
无影云桌面