问题描述
由于我的数据库/导出中的错误,我有一个不一致的时间戳 - 有时有秒,有时没有 - 我怎样才能轻松地统一它?
例如带有 X1 = col_datetime(format = "%d.%m.%Y %H:%M:%s")
的 read_csv 无法正常工作。
我的数据如下所示:
X1,X2
24.02.2012 22:00,'121'
24.02.2012 22:15:00,'122'
24.02.2012 22:30:00,'124'
24.02.2012 22:45:00,'122'
24.02.2012 23:00,'121'
谢谢!
解决方法
anytime
可以通过额外的格式条目来处理它(因为 d.m.Y 可能会与 m.d.Y 混淆,我们默认情况下不会添加它,通过输入它您可以做出更明智的选择)。
> times <- c("24.02.2012 22:00","24.02.2012 22:15:00","24.02.2012 22:30:00",+ "24.02.2012 22:45:00","24.02.2012 23:00")
> library(anytime)
> addFormats("%d.%m.%Y %H:%M:%S")
> anytime(times)
[1] "2012-02-24 22:00:00 CST" "2012-02-24 22:15:00 CST" "2012-02-24 22:30:00 CST"
+ "2012-02-24 22:45:00 CST" "2012-02-24 23:00:00 CST"
>
因此您可以通过
覆盖您的列或添加新列> library(anytime)
> addFormats("%d.%m.%Y %H:%M:%S")
> X1$parsed <- anytime(X1$raw_dates)
(假设您在该列的 X
中有数据)添加如图所示的格式后。格式被添加到已知的向量中
仅用于当前会话的格式。