os.stat
включает время создания. Нет никакого определения st_anything для элемента os.stat()
, который содержит время.
Итак, попробуйте это:
os.stat('feedparser.py')[8]
Сравните это с вашим создать дату в файле в ls -lah
Они должны быть одинаковыми.
После нескольких испытаний я узнал, что ifelse
от базовых принуждений к удвоению. if_else
однако помогает решить проблему:
library(tidyverse)
df %>%
mutate(id=as.factor(id),
date=if_else(id=="A",dmy_hm(date),mdy_hm(date)))
Результат:
date id
<dttm> <fct>
1 2014-01-10 08:00:00 A
2 2014-01-10 06:00:00 A
3 2014-01-09 18:00:00 A
4 2014-01-09 15:00:00 A
5 2014-01-09 12:00:00 A
6 2014-01-09 10:00:00 A
7 2014-10-01 10:00:00 B
8 2014-10-01 10:00:00 B
9 2014-10-01 10:00:00 B
10 2014-10-01 10:00:00 B
Вы можете сделать это с помощью dplyr
функций mutate
и case_when
, чтобы использовать столбец id
для применения функции dmy_hm
или mdy_hm
соответственно.
library(dplyr)
library(tibble) # for tribble
library(lubridate)
df <- tribble(~date, ~id,
"10/01/2014 08:00", "A", # these are day/month/year format
"10/01/2014 06:00", "A",
"09/01/2014 18:00", "A",
"09/01/2014 15:00", "A",
"09/01/2014 12:00", "A",
"09/01/2014 10:00", "A",
"10/01/2014 10:00", "B", # these are month/day/year format
"10/01/2014 10:00", "B",
"10/01/2014 10:00", "B",
"10/01/2014 10:00", "B")
mutate(df, date = case_when(id == "A" ~ dmy_hm(date),
id == "B" ~ mdy_hm(date)))
#> # A tibble: 10 x 2
#> date id
#> <dttm> <chr>
#> 1 2014-01-10 08:00:00 A
#> 2 2014-01-10 06:00:00 A
#> 3 2014-01-09 18:00:00 A
#> 4 2014-01-09 15:00:00 A
#> 5 2014-01-09 12:00:00 A
#> 6 2014-01-09 10:00:00 A
#> 7 2014-10-01 10:00:00 B
#> 8 2014-10-01 10:00:00 B
#> 9 2014-10-01 10:00:00 B
#> 10 2014-10-01 10:00:00 B
Создано в 2019-01-18 с помощью пакета представитель (v0.2.1) sup>