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

在R语言中如何拆分并格式化CSV文件的日期时间列

R语言处理时间列拆分与格式转换解决方案

以下提供两种常用实现方式,假设你读取的CSV数据已存储在名为df的数据框中:

方案1:tidyverse套件实现(推荐,兼容性强)

依赖dplyr和lubridate包,属于tidyverse生态,无需手动匹配系统格式差异:

# 加载依赖包
library(dplyr)
library(lubridate)

# 处理数据
df <- df %>%
  # 解析原始时间列:自动识别月/日/年格式+12小时制AM/PM标识
  mutate(raw_datetime = mdy_hms(Time),
         # 生成指定格式的日期列
         Date = format(raw_datetime, "%m/%d/%Y"),
         # 生成24小时制时间列
         Time = format(raw_datetime, "%H:%M:%S")) %>%
  # 移除临时列
  select(-raw_datetime)

如果你的原始日期是日在前、月在后的格式,将mdy_hms替换为dmy_hms即可。

方案2:base R实现(无需安装额外包)

直接使用R原生函数处理:

# 解析原始时间列为标准时间类型
raw_datetime <- strptime(df$Time, format = "%m/%d/%Y %I:%M:%S %p")
# 生成日期列
df$Date <- format(raw_datetime, "%m/%d/%Y")
# 生成24小时制时间列
df$Time <- format(raw_datetime, "%H:%M:%S")

格式符说明:%m=补零月份、%d=补零日期、%Y=4位年份、%I=12小时制小时、%p=AM/PM标识、%H=24小时制小时。如果不需要月份/日期的前导零,Windows系统将%m/%d替换为%#m/%#d,类Unix系统(macOS/Linux)替换为%-m/%-d即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 21:09:04