在SAS中如何将特定格式的时间条目转换为月份格式
解决方案
以下分不同常用数据处理工具给出对应实现方案:
1. Python(pandas环境)
核心是匹配原始时间格式完成解析,再输出指定格式即可:
- 原始时间字符串对应的格式编码为
%d%b%Y:%H:%M:%S,目标格式编码为%b %Y - 示例代码:
import pandas as pd # 替换df为你的数据集变量名 df['Day'] = pd.to_datetime(df['Day'], format='%d%b%Y:%H:%M:%S') df['month_year'] = df['Day'].dt.strftime('%b %Y')
如果运行后输出的是中文月份,可提前设置locale强制输出英文:
import locale locale.setlocale(locale.LC_TIME, 'en_US.UTF-8')
2. R语言
用lubridate工具包处理效率最高:
- 示例代码:
library(lubridate) library(dplyr) # 替换df为你的数据集变量名 df <- df %>% mutate(Day = dmy_hms(Day), month_year = format(Day, "%b %Y"))
如需强制输出英文月份,提前设置系统时间locale即可:
Sys.setlocale("LC_TIME", "en_US.UTF-8")
3. Excel/WPS表格
用公式直接转换:
=TEXT(DATEVALUE(LEFT(A1,9)),"mmm yyyy")
其中A1为存储原始时间字符串的单元格,LEFT(A1,9)是提取前9位的纯日期部分(如31MAY2019),DATEVALUE将其转为标准日期后,再用TEXT函数格式化输出目标格式。
内容的提问来源于stack exchange,提问作者Ziroque
相关产品推荐
相关产品推荐

