如何获取月份缩写全大写的dd MMM yyyy格式日期
pandas 日期转全大写英文月份格式解决方案
核心思路
strftime返回的格式化结果为字符串类型,你的需求里除月份缩写外其余都是数字,数字不受大小写转换影响,直接对整个格式化后的字符串序列执行大写转换即可,不需要调整日期格式化的占位符参数。
实现步骤
- 先确认日期列已经转换为pandas的datetime类型,避免后续操作报错
- 保留原有
strftime逻辑,链式调用字符串大写转换方法即可 - 中文系统环境需要提前设置时间类locale为英文,避免生成中文月份缩写
代码示例
import pandas as pd import locale # 中文环境必须加,确保输出英文月份缩写:Unix系系统用如下写法 locale.setlocale(locale.LC_TIME, 'en_US.UTF-8') # 如果是Windows系统,替换上面的locale行为:locale.setlocale(locale.LC_TIME, 'English_US') # 示例数据构造 df = pd.DataFrame({'raw_date': ['2021-01-01', '2023-10-05', '2022-12-11']}) # 转换为datetime类型 df['raw_date'] = pd.to_datetime(df['raw_date']) # 格式化并转大写 df['target_date'] = df['raw_date'].dt.strftime('%d %b %Y').str.upper() print(df['target_date']) # 输出结果: # 0 01 JAN 2021 # 1 05 OCT 2023 # 2 11 DEC 2022
内容的提问来源于stack exchange,提问作者E_Ri
相关产品推荐
相关产品推荐

