You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R语言中转换日期格式:将月份名称转为数字形式

将「月份名称-两位年份」转换为「数字月份/两位年份」的实现方法

以下是两种常用工具的具体实现方案:

Python(Pandas)

如果用Pandas处理数据集,直接借助日期解析和格式化函数就能完成转换:

import pandas as pd

# 读取数据集(示例为CSV格式,根据实际文件类型调整)
df = pd.read_csv("your_dataset.csv")

# 转换格式:先解析为日期对象,再输出目标样式
# 注意:Windows系统下把 `%-m` 替换为 `%#m`(用于去除月份前导零)
df["ldr_start"] = pd.to_datetime(df["ldr_start"], format="%b-%y").dt.strftime("%-m/%y")

# 若需指定年份世纪(比如让92对应1992而非2092),可补充参数:
# df["ldr_start"] = pd.to_datetime(df["ldr_start"], format="%b-%y", yearfirst=False).dt.strftime("%-m/%y")
  • %b 匹配英文缩写月份(如Mar、Jul),%y 匹配两位年份
  • %-m(Windows用%#m)输出不带前导零的数字月份,%y 保留两位年份格式

Excel

在Excel里用函数组合就能批量转换:

方法1:TEXT+DATEVALUE组合

假设原数据在A1单元格,在空白单元格输入公式后下拉填充:

=TEXT(DATEVALUE(A1),"m/yy")

方法2:MONTH+RIGHT直接拼接

如果DATEVALUE因系统地区设置报错,可直接提取月份和年份拼接:

=MONTH(DATEVALUE(A1))&"/"&RIGHT(A1,2)
  • MONTH(DATEVALUE(A1)) 提取月份数字
  • RIGHT(A1,2) 提取原文本最后两位年份

补充:年份世纪修正

如果出现92被识别为2092的情况,可手动指定世纪:

=MONTH(DATEVALUE(A1))&"/"&IF(RIGHT(A1,2)*1>23,RIGHT(A1,2),RIGHT(A1,2)+100)

内容的提问来源于stack exchange,提问作者hobsbawm

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 09:27:21