как изменить формат времени в CSV в чч: мм: сс - PullRequest
0 голосов
/ 12 октября 2018

Это мои данные временного ряда:

Date                Time    Price
05/03/2018  09:00:00am  125.9
05/03/2018  09:00:00am  125.9
05/03/2018  09:00:00am  125.9
05/03/2018  09:00:00am  125.9
05/03/2018  09:00:00am  125.9

Я хочу изменить формат времени на «чч: мм: сс» для 24-часовых систем, и я хочу, чтобы мой вывод был таким

NewDate            Price
05-03-2018 09:00:00 125.9
05-03-2018 09:00:00 125.9
05-03-2018 09:00:00 125.9
05-03-2018 09:00:00 125.9
05-03-2018 09:00:00 125.9

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 12 октября 2018

Пакет lubridate облегчает:

library(lubridate)
library(dplyr)

df %>% 
  mutate(NewDate = lubridate::mdy_hms(paste(Date, Time))) %>%
  select(NewDate, Price)

              NewDate Price
1 2018-05-03 09:00:00 125.9
2 2018-05-03 09:00:00 125.9
3 2018-05-03 09:00:00 125.9
4 2018-05-03 09:00:00 125.9
5 2018-05-03 09:00:00 125.9

Данные:

df <- structure(list(Date = c("05/03/2018", "05/03/2018", "05/03/2018", 
"05/03/2018", "05/03/2018"), Time = c("09:00:00am", "09:00:00am", 
"09:00:00am", "09:00:00am", "09:00:00am"), Price = c(125.9, 125.9, 
125.9, 125.9, 125.9)), class = "data.frame", row.names = c(NA, 
-5L))
0 голосов
/ 12 октября 2018

См. Пример ниже, вы можете изменить часовой пояс tz на тот, который должен быть.

date <- "05/03/2018  09:00:00am"
as.POSIXct(date, "%d/%m/%Y %H:%M:%S%p", tz = "UTC")

%p - индикатор AM / PM в локали.Хорошее место для поиска документации - подробные разделы ?strptime.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...