如何导入r中的文本文件



有没有人对如何导入像这样的文本文件有一些建议:

"X1" II" X2" II" X3" II" X4" II" X5""1"II4II" 123 - 23 -"ii01 - 03 - 2006 - II" 209年"II" 1"II5II" 124 - 23 -"ii02 - 03 - 2006 - II" 208年"二……(等等)?

将转换为R并将其转换为数据框架?所以我想达到这样的效果:

| X1 | X2 |X3 | X4 | X5 || -- | -- | ------- | ---------- | --- || 1 | 4 | 123-23 | 01-03-2006 | 209 || 1 | 5 | 124 - 23 | 208 | 02-03-2006 |
.....

我设法使用read。文件导入它作为一个长字符串,但之后卡住了。我很感激你的帮助。

我把你的文字复制到一个文本文件中,

"X1"II"X2"II"X3"II"X4"II"X5"" "1"II4II"123-23"II01-03-2006II"209"II "1"II5II"124-23"II02-03-2006II"208"

从检查来看,

  • 标题行为X1 X2 X3 X4 X5
  • II分隔列。
  • 换行标志为矩形,用readr::read_file读入后变为v

基于此,您正在寻找具有5列的data.frame。注意:一些行结尾出现在II之后(如"209"II ),这是奇怪的,因为它暗示行结束(我不得不在下面的代码中添加一个修复)。

因为像read.table这样的函数要求sep变量为1字节,所以不能使用像read.table(file = 'text.txt', sep = 'II')这样的函数。所以当前可行的解决方案是

library(magrittr)
library(stringr)
library(readr)
text <- readr::read_file(file = 'C:/Users/lcroote/my_data/read_test.txt')
text %>% 
str_replace_all('"', '') %>% # remove escaped quotes (readr thing)
str_replace_all('II', ',') %>% # columns separated by II
str_replace_all(',v', 'n') %>% # some line endings have extra ,
str_replace_all('v', 'n') %>%  # replace v by newline n for read.table
read.table(text = ., sep = ',', header = T, fill = T, row.names = NULL)
>
X1 X2     X3         X4  X5
1  1  4 123-23 01-03-2006 209
2  1  5 124-23 02-03-2006 208

相关内容

  • 没有找到相关文章

最新更新