提问人:user8229029 提问时间:6/20/2023 最后编辑:user8229029 更新时间:6/22/2023 访问量:35
如何将readLines输出拆分为文本数组R
How to split readLines output into text array R
问:
我正在使用 readLines 读取 csv 文件的前 4 行,以确定标题是什么,以便我可以将具有相似标题的文件连接起来。readLines 生成如下所示的困难输出(这只是第一行作为示例):
output <- readLines(one_min_file, n = 4)
[1] "\"TOA5\",\"Shelton 2SW\",\"CR1000\",\"62704\",\"CR1000.Std.27\",\"CPU:0044-20201101.CR1\",\"35516\",\"OneMinute\""
如何将其解析为文本数组或看起来像这样的东西,或者由此生成的相同数组?
c('TOA5','Shelton 2SW','CR1000','62704','CR1000.Std.27','CPU:0044-20201101.CR1','35516','OneMinute')
EDIT:
dput(readLines(one_min_files[h1], n = 1))
"\"TOA5\",\"Shelton 2SW\",\"CR1000\",\"62704\",\"CR1000.Std.27\",\"CPU:0044-20201101.CR1\",\"35516\",\"OneMinute\""
答:
0赞
margusl
6/21/2023
#1
尝试删除双引号并按以下方式拆分:,
(output <- c("\"TOA5\",\"Shelton 2SW\",\"CR1000\",\"62704\",\"CR1000.Std.27\",\"CPU:0044-20201101.CR1\",\"35516\",\"OneMinute\""))
#> [1] "\"TOA5\",\"Shelton 2SW\",\"CR1000\",\"62704\",\"CR1000.Std.27\",\"CPU:0044-20201101.CR1\",\"35516\",\"OneMinute\""
gsub('"', '', output, fixed = TRUE) |> strsplit(",") |> unlist()
#> [1] "TOA5" "Shelton 2SW" "CR1000"
#> [4] "62704" "CR1000.Std.27" "CPU:0044-20201101.CR1"
#> [7] "35516" "OneMinute"
或者用以下方式解析该行:read.csv()
read.csv(text = output, header = FALSE)[1,] |> unlist() |> unname()
#> [1] "TOA5" "Shelton 2SW" "CR1000"
#> [4] "62704" "CR1000.Std.27" "CPU:0044-20201101.CR1"
#> [7] "35516" "OneMinute"
创建于 2023-06-21 with reprex v2.0.2
评论
dput(output)
c(...)
cat(paste(output, collapse = "\n"))
stringr::str_view(output)