Редактирование формата даты и сортировка фрейма данных с датой - PullRequest
0 голосов
/ 26 сентября 2019

У меня есть фрейм данных, в котором есть столбец даты в двух разных форматах, поэтому я хочу отредактировать формат даты таким же, а также отсортировать все данные по дате и времени.вот как выглядят текстовые данные после импорта

datetime                  Info

08.08.2019 23:43:42,356 : PRG_Signal_Ampel

08.08.2019 23:43:50,136 : MAIN 

08.08.19 23:42:50,164 : T_SV_SharedMemRecs.Set

08.08.19 23:42:50,164 : T_SV_SharedMemRecs.Set

08.08.19 23:42:50,184  : data testing

и вот что я хочу получить

datetime                  Info


08.08.2019 23:42:50,164 : T_SV_SharedMemRecs.Set

08.08.2019 23:42:50,164 : T_SV_SharedMemRecs.Set

08.08.2019 23:42:50,184  : data testing

08.08.2019 23:43:42,356 : PRG_Signal_Ampel 

08.08.2019 23:43:50,136 : MAIN

1 Ответ

1 голос
/ 27 сентября 2019

Редактировать : Исходя из хорошего ответа Камиллы на ваш предыдущий вопрос, есть код для обработки импортированного текста в качестве отправной точки: https://stackoverflow.com/a/57964340/3460670

Я бы использовал функцию lubridateparse_date_time, который использует guess_formats и может обрабатывать 2 или 4 цифры года (заменяя запятую на точку):

parse_date_time(gsub(",", ".", datetime), orders = c("dmY HMOS", "dmy HMOS"))

Вот как это выглядит в целом.Я добавил options(digits.secs=3), чтобы показывать десятичные разряды для секунд.

import_txt<-
"08.08.2019 23:43:42,356 : PRG_Signal_Ampel
08.08.2019 23:43:50,136 : MAIN
08.08.19 23:42:50,164 : T_SV_SharedMemRecs.Set
08.08.19 23:42:50,164 : T_SV_SharedMemRecs.Set
08.08.19 23:42:50,184 : data testing"

library(tidyr)
library(dplyr)
library(lubridate)

options(digits.secs=3)

txt <- readr::read_lines(import_txt)

data.frame(txt) %>%
  separate(txt, into = c("datetime", "info"), sep = " : ") %>%
  mutate(datetime = parse_date_time(gsub(",", ".", datetime), orders = c("dmY HMOS", "dmy HMOS"))) %>%
  arrange(datetime)

                 datetime                   info
1 2019-08-08 23:42:50.164 T_SV_SharedMemRecs.Set
2 2019-08-08 23:42:50.164 T_SV_SharedMemRecs.Set
3 2019-08-08 23:42:50.184           data testing
4 2019-08-08 23:43:42.355       PRG_Signal_Ampel
5 2019-08-08 23:43:50.136                   MAIN
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...