Конвертировать дату и время из Excel в R - PullRequest
0 голосов
/ 05 декабря 2018

Я прочитал файл Excel с library(readxl)

В Excel у меня есть формат: 9/14/2017 7:58:58 AM в R он заканчивается 42992.332615740743.Как я могу вернуть читаемый человеком формат в R?

Нужна ли мне поставка origin для as.POSIXct?Что такое origin?

Ответы [ 2 ]

0 голосов
/ 06 декабря 2018

В пакете есть функция convert_date datetimeutils (которую я поддерживаю).

library("datetimeutils")
convert_date(42992.332615740743, type = "Excel", fraction = TRUE)
## [1] "2017-09-14 07:58:58 CEST"

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

convert_date(42992.332615740743, type = "Excel", fraction = TRUE, tz = "UTC")
## [1] "2017-09-14 07:58:58 UTC"
0 голосов
/ 05 декабря 2018

Во-первых, вам необходимо прочитать столбец datetime как "date", чтобы иметь возможность преобразовать его.Например, если у вас есть следующий файл Excel:

ID    Name     Date
1     aaa      9/14/2017  7:58:58 AM
2     bbb      2/23/2017  5:22:01 PM
3     bbb      7/10/2017  10:37:19 PM

Вам нужно будет прочитать его следующим образом:

excel_data <- read_excel("test.xls", col_types = c("numeric", "text", "date"))

Если у вас длинный список столбцов, вы можете простоукажите col_types как guess, например:

excel_data <- read_excel("test.xls", col_types = "guess")

Теперь, чтобы преобразовать в удобочитаемую дату и время в R, вам нужно будет использовать as.POSIXct с originзначение как 1899-12-30, как показано ниже:

excel_data$Date <- as.POSIXct(excel_data$Date,
                              origin="1899-12-30",
                              tz="GMT")

Надеюсь, это поможет.

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