python-3.x - 将基于字符串的日期列表更改为一种特定格式
问题描述
我有一个代表日期的字符串列表。
input_list = ['18 March 2000', '10-09-2020', '10 JAN 2021', '10/05/2021', '15 FEBRUARY 1990']
我希望将所有格式更改为DD MMM YYYY(2021 年 1 月 10 日)
expected_list = ['18 MAR 2000', '10 SEP 2020', '10 JAN 2021', '10 MAY 2021', '15 FEB 1990']
由于没有任何日期字符串是 1 格式,因此 datetime.strftime 未能首先将它们转换为特定格式。
如果有的话,任何人都可以提出解决这个问题的方法。
解决方案
非 Pandas 方法是使用dateutil.parser.parse
from dateutil.parser import parse
input_list = ['18 March 2000', '10-09-2020', '10 JAN 2021', '10/05/2021', '15 FEBRUARY 1990']
output = [parse(t).strftime("%d %b %Y").upper() for t in input_list]
print(output)
>>> ['18 MAR 2000', '09 OCT 2020', '10 JAN 2021', '05 OCT 2021', '15 FEB 1990']
推荐阅读
- python - 在 Kivy 中独立移动多个小部件
- python - 为什么 BuiltinImporter.create_module 只恢复部分内置模块?
- java - Android 从 SD 卡读取文件的权限问题
- arrays - foreach powershell 中的字符串操作
- python - Django Rest Framework ManyToMany 字段排序
- authentication - Yandex OAuth GitLab 用户身份验证
- bash - 条件保存在 bash 的变量中
- javascript - 触发 oninput 事件后重新加载 javascript 文件
- r - 如何用点改变ggplot2箱线图颜色
- python - 使用 Python 查询不同服务器上的 100 多个 SQL 数据库