首页 > 解决方案 > 如何将时间(HH:MM;SS)转换为秒并在excel的另一列中写入秒?

问题描述

我有一个 excel 文件,其中有一列名为 "time" 的时间为 HH:MM:SS 格式,我想将其转换为秒并将其写入另一列中,例如 'Seconds' 。

我是 R 编程的初学者,任何帮助都非常有帮助。

标签: r

解决方案


您在 excel 中的条目很可能被表示为单个字符串,因此您必须将一个条目拆分为 3 个整数——小时、分钟和秒——然后计算您的条目所代表的秒数:

entry <- "12:10:34" # your old entry from the excel sheet
new_entry <- as.integer(strsplit(entry,":")[[1]][1:3]) # splitting it into a list of integers
new_entry <- new_entry[1]*3600 + new_entry[2]*60 + new_entry[3] # calculating the seconds

您可以使用 dplyr 包来遍历 excel 工作表中的所有项目。

library(dplyr)

data_frame <- data_frame %>%
    mutate(new_entry <- as.integer(strsplit(entry,":")[[1]][1:3]))%>%
    mutate(new_entry <- new_entry[1]*3600 + new_entry[2]*60 + new_entry[3])

推荐阅读