正在读取 "next line delimited" 的文本文件
Reading text file that is "next line delimited"
我不确定如何正确表达这个问题,所以我举个例子。
假设我有一个 .txt
文件,其中第一行是日期,第二行是文本。然后模式重复,第 3 行是 DATE,第 4 行是 TEXT。
我如何将其读入 R
并将其转换为两列 dataframe
.
基本上我认为它是 "next line delimited",不确定这是否是描述它的正确方法。
这是将保存在 .txt
文件中的样本数据:
.LOG
3:42 PM 12/04/2019
Task 1
3:45 PM 12/04/2019
Task 2
3:55 PM 13/04/2019
Task 3
3:47 PM 15/04/2019
我希望它看起来像:
DATE TEXT
3:42 PM 12/04/2019 Task 1
3:45 PM 12/04/2019 Task 2
3:55 PM 13/04/2019 Task 3
使用 read.table
和 sep = "\n"
读取文件,因此您将拥有单列数据框
df <- read.table(text = "3:42 PM 12/04/2019
Task 1
3:45 PM 12/04/2019
Task 2
3:55 PM 13/04/2019
Task 3", sep = "\n")
从文件中读取它
df <- read.table("path_of_the_file.txt", sep = "\n")
现在通过选择交替行将其分成两列
data.frame(Date = df[c(TRUE, FALSE), ], Text = df[c(FALSE, TRUE), ])
# Date Text
#1 3:42 PM 12/04/2019 Task 1
#2 3:45 PM 12/04/2019 Task 2
#3 3:55 PM 13/04/2019 Task 3
你可以这样做:
MessyData <- read.table("Myfile.txt")
CleanData <- data.frame(DATE = MessyData[seq(1, length(MessyData), by = 2)],
TEXT = MessyData[seq(2, length(MessyData), by = 2)])
这里有更好的选择 matrix
方法
as.data.frame(matrix(trimws(df$V1), ncol = 2, byrow = TRUE,
dimnames = list(NULL, c("DATE", "TEXT"))))
# DATE TEXT
#1 3:42 PM 12/04/2019 Task 1
#2 3:45 PM 12/04/2019 Task 2
#3 3:55 PM 13/04/2019 Task 3
读取数据集后
数据
df <- read.table("file.txt", sep = "\n")
我不确定如何正确表达这个问题,所以我举个例子。
假设我有一个 .txt
文件,其中第一行是日期,第二行是文本。然后模式重复,第 3 行是 DATE,第 4 行是 TEXT。
我如何将其读入 R
并将其转换为两列 dataframe
.
基本上我认为它是 "next line delimited",不确定这是否是描述它的正确方法。
这是将保存在 .txt
文件中的样本数据:
.LOG
3:42 PM 12/04/2019
Task 1
3:45 PM 12/04/2019
Task 2
3:55 PM 13/04/2019
Task 3
3:47 PM 15/04/2019
我希望它看起来像:
DATE TEXT
3:42 PM 12/04/2019 Task 1
3:45 PM 12/04/2019 Task 2
3:55 PM 13/04/2019 Task 3
使用 read.table
和 sep = "\n"
读取文件,因此您将拥有单列数据框
df <- read.table(text = "3:42 PM 12/04/2019
Task 1
3:45 PM 12/04/2019
Task 2
3:55 PM 13/04/2019
Task 3", sep = "\n")
从文件中读取它
df <- read.table("path_of_the_file.txt", sep = "\n")
现在通过选择交替行将其分成两列
data.frame(Date = df[c(TRUE, FALSE), ], Text = df[c(FALSE, TRUE), ])
# Date Text
#1 3:42 PM 12/04/2019 Task 1
#2 3:45 PM 12/04/2019 Task 2
#3 3:55 PM 13/04/2019 Task 3
你可以这样做:
MessyData <- read.table("Myfile.txt")
CleanData <- data.frame(DATE = MessyData[seq(1, length(MessyData), by = 2)],
TEXT = MessyData[seq(2, length(MessyData), by = 2)])
这里有更好的选择 matrix
方法
as.data.frame(matrix(trimws(df$V1), ncol = 2, byrow = TRUE,
dimnames = list(NULL, c("DATE", "TEXT"))))
# DATE TEXT
#1 3:42 PM 12/04/2019 Task 1
#2 3:45 PM 12/04/2019 Task 2
#3 3:55 PM 13/04/2019 Task 3
读取数据集后
数据
df <- read.table("file.txt", sep = "\n")