我有以下格式的数据。向量的第一个元素指报头,通过向量的第二到第二元素表示针对报头的值。我希望将数据以表格/结构化格式(或带有标头和值的数据框架)放置。
k <- c("Afv.dato : Type Termin lalt Betalt pa termin Terminsbelgb", "13-09-2019 opkrzvning 11-09-2019 4.067,11",
"18-10-2019 indbetaling 4.067,00 11-09-2019 4.067,00", "11-12-2019 opkrzvning 11-12-2019 9.176,00" ,
"18-12-2019 indbetaling 9.176,11 11-09-2019 0,11", "11-12-2019 9.176,00", "11-03-2020 opkreevning 11-03-2020 9.176,00",
"02-03-2020 indbetaling 9.176,00 11-03-2020 9.176,00", "11-06-2020 opkraevning 11-06-2020 9.176,00",
"18-05-2020 indbetaling 9,176,00 11-06-2020 9.176,00"
)想要的输出(前5行的值)。(报头)

发布于 2020-08-25 13:00:21
你可以用strcapture试试。
strcapture("(\\d+-\\d+-\\d+) *(\\D*) *(\\d+-\\d+-\\d+)* *([0-9.,]*) *(\\d+-\\d+-\\d+)* *([0-9.,]*)",
k[-1], data.frame(Afv.dato=character(), Type=character(), Termin=character(),
lalt=character(), "Betalt pa termin"=character(), Terminsbelgb=character()))
# Afv.dato Type Termin lalt Betalt.pa.termin Terminsbelgb
#1 13-09-2019 opkrzvning 11-09-2019 4.067,11
#2 18-10-2019 indbetaling 4.067,00 11-09-2019 4.067,00
#3 11-12-2019 opkrzvning 11-12-2019 9.176,00
#4 18-12-2019 indbetaling 9.176,11 11-09-2019 0,11
#5 11-12-2019 9.176,00
#6 11-03-2020 opkreevning 11-03-2020 9.176,00
#7 02-03-2020 indbetaling 9.176,00 11-03-2020 9.176,00
#8 11-06-2020 opkraevning 11-06-2020 9.176,00
#9 18-05-2020 indbetaling 9,176,00 11-06-2020 9.176,00发布于 2020-08-25 12:36:59
我会做这样的事。思想是,read_lines()将把向量的每个元素放在一行。在此之后,您将这个结果交给一个函数,您可以使用该函数来读取平面文件。这些函数通常使用文件的第一行作为列名。
library(readr)
k <- c("Afv.dato : Type Termin lalt Betalt pa termin Terminsbelgb", "13-09-2019 opkrzvning 11-09-2019 4.067,11",
"18-10-2019 indbetaling 4.067,00 11-09-2019 4.067,00", "11-12-2019 opkrzvning 11-12-2019 9.176,00" ,
"18-12-2019 indbetaling 9.176,11 11-09-2019 0,11", "11-12-2019 9.176,00", "11-03-2020 opkreevning 11-03-2020 9.176,00",
"02-03-2020 indbetaling 9.176,00 11-03-2020 9.176,00", "11-06-2020 opkraevning 11-06-2020 9.176,00",
"18-05-2020 indbetaling 9,176,00 11-06-2020 9.176,00"
)
read_csv(read_lines(k))https://stackoverflow.com/questions/63578858
复制相似问题