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

如何在R中批量转换CSV文件中的下划线格式日期?

解决方法

方法1:使用lubridate + dplyr(推荐)

lubridate的mdy()函数可以直接识别带下划线分隔的日期格式,无需提前替换分隔符,它会自动处理非数字分隔符。结合dplyr可以批量处理整列:

library(dplyr)
library(lubridate)

# 读取数据
Data_Dates <- read.csv("myfilename.csv")

# 批量转换Date列为标准日期格式
Data_Dates <- Data_Dates %>%
  mutate(Date = mdy(Date))

注意:

  • 如果你的日期格式是DD_MM_YY(比如9_12_22代表12月9日2022年),把mdy()换成dmy()即可。
  • 转换后可以用class(Data_Dates$Date)检查是否为标准Date类型。

方法2:使用base R(无需额外包)

如果不想加载第三方包,可先用gsub()替换Date列的下划线,再用as.Date()指定格式转换:

# 读取数据
Data_Dates <- read.csv("myfilename.csv")

# 替换下划线并转换日期(针对Date列操作,而非整个数据框)
Data_Dates$Date <- as.Date(gsub("_", "/", Data_Dates$Date), format = "%m/%d/%y")

说明:

  • 你之前用gsub()失败的原因是直接传入了整个数据框,而不是单独的Date列。
  • 格式字符串%m/%d/%y对应月/日/两位年,如果是日/月/年格式,改用%d/%m/%y。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 02:35:40