R:查找并删除具有特定日期的行
R: Find and delete line with specific date
我是 R 的新手。
这是我的问题:
我有一个包含 100k 行的巨大 .txt 文件,
任务是删除所有包含日期晚于本月的行。
日期格式为 %Y-%m-%dT%H:%M:%S.%f+00:00
一行示例,但它可能包含非常数的单词:INFO: 2018-11-21T09:53:55.467550+00:00 (none) setaupasqa[12]: 0012f73ad1a26
我已经尝试过这种方法(日期时间函数)来查找日期,但似乎不起作用
Date <- read.delim("my_data.txt")
Date <- as.POSIXct(Date, format= "%Y-%m-%dT%H:%M:%S.%f+00:00", tz="UTC")
as.POSIXlt(Date)$year + 1900
提前致谢。
您可以为此使用 lubridate
。
示例:
library(data.table)
library(dplyr)
df <- fread("sample.txt", header = F)
df$V2 <- lubridate::ymd_hms(df$V2)
#Filter all rows with month >= 11
df %>%
filter(month(V2) >= 11)
V1 V2 V3 V4 V5
1 INFO: 2018-11-22 09:53:55 (none) setaupasqa[12]: 0012f73ad1a26
示例数据
$ cat sample.txt
INFO: 2018-10-21T09:53:55.467550+00:00 (none) setaupasqa[12]: 0012f73ad1a26
INFO: 2018-11-22T09:53:55.467550+00:00 (none) setaupasqa[12]: 0012f73ad1a26
我是 R 的新手。 这是我的问题: 我有一个包含 100k 行的巨大 .txt 文件, 任务是删除所有包含日期晚于本月的行。
日期格式为 %Y-%m-%dT%H:%M:%S.%f+00:00
一行示例,但它可能包含非常数的单词:INFO: 2018-11-21T09:53:55.467550+00:00 (none) setaupasqa[12]: 0012f73ad1a26
我已经尝试过这种方法(日期时间函数)来查找日期,但似乎不起作用
Date <- read.delim("my_data.txt")
Date <- as.POSIXct(Date, format= "%Y-%m-%dT%H:%M:%S.%f+00:00", tz="UTC")
as.POSIXlt(Date)$year + 1900
提前致谢。
您可以为此使用 lubridate
。
示例:
library(data.table)
library(dplyr)
df <- fread("sample.txt", header = F)
df$V2 <- lubridate::ymd_hms(df$V2)
#Filter all rows with month >= 11
df %>%
filter(month(V2) >= 11)
V1 V2 V3 V4 V5
1 INFO: 2018-11-22 09:53:55 (none) setaupasqa[12]: 0012f73ad1a26
示例数据
$ cat sample.txt
INFO: 2018-10-21T09:53:55.467550+00:00 (none) setaupasqa[12]: 0012f73ad1a26
INFO: 2018-11-22T09:53:55.467550+00:00 (none) setaupasqa[12]: 0012f73ad1a26