R 是否有一个函数用于读取具有常规表达式的txt文件

R 是否有一个函数用于读取具有常规表达式的txt文件,r,R,我有一个当前行格式的txt文件 1\t[2,3,4,5,6,45] 2\t[4,4,4,4,4,4,4,43,5] etc 我想把它读作data.frame,其中列名称是行数,值是括号中的数字 1 2 2 4 3 4 5 4 一种选择是使用readLines读取,然后进行转换 library(dplyr) library(stringr) library(purrr) str_extract_all(v1, "\\d+") %>% map(`[`,-1) %>%

我有一个当前行格式的txt文件

1\t[2,3,4,5,6,45]
2\t[4,4,4,4,4,4,4,43,5]
etc
我想把它读作data.frame,其中列名称是行数,值是括号中的数字

1 2
2 4
3 4
5 4

一种选择是使用
readLines
读取,然后进行转换

library(dplyr)
library(stringr)
library(purrr)
str_extract_all(v1, "\\d+") %>% 
    map(`[`,-1) %>% 
    reduce(rowr::cbind.fill, fill = NA) %>%
    set_names(str_extract(v1, "\\d+"))
#     1  2
#1    2  4
#2    3  4
#3    4  4
#4    5  4
#5    6  4
#6   45  4
#7 <NA>  4
#8 <NA> 43
#9 <NA>  5
库(dplyr)
图书馆(stringr)
图书馆(purrr)
str_extract_all(v1,“\\d+”)%>%
地图(`[`,-1)%>%
减少(行::cbind.fill,fill=NA)%>%
设置名称(str提取(v1,\\d+))
#     1  2
#1    2  4
#2    3  4
#3    4  4
#4    5  4
#5    6  4
#6   45  4
#7   4
#8  43
#9   5
数据
v1从输入开始

x <- '
1\t[2,3,4,5,6,45]
2\t[4,4,4,4,4,4,4,43,5]
'

x发布的示例中的列具有不同的长度,您希望结果如何以表格形式显示?将较短的填充到最长的长度?
x <- '
1\t[2,3,4,5,6,45]
2\t[4,4,4,4,4,4,4,43,5]
'
library(data.table)

x <- 
  fread(gsub('\\[|\\]', '', x))[, .(value = strsplit(V2, ',')[[1]]), V1]

dcast(x, rowid(V1) ~ V1)[, -'V1']

#       1  2
# 1:    2  4
# 2:    3  4
# 3:    4  4
# 4:    5  4
# 5:    6  4
# 6:   45  4
# 7: <NA>  4
# 8: <NA> 43
# 9: <NA>  5