如何在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
相关产品推荐
相关产品推荐

