首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >字符向量到数据

字符向量到数据
EN

Stack Overflow用户
提问于 2020-08-25 12:27:59
回答 2查看 74关注 0票数 2

我有以下格式的数据。向量的第一个元素指报头,通过向量的第二到第二元素表示针对报头的值。我希望将数据以表格/结构化格式(或带有标头和值的数据框架)放置。

代码语言:javascript
复制
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行的值)。(报头)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-08-25 13:00:21

你可以用strcapture试试。

代码语言:javascript
复制
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
票数 5
EN

Stack Overflow用户

发布于 2020-08-25 12:36:59

我会做这样的事。思想是,read_lines()将把向量的每个元素放在一行。在此之后,您将这个结果交给一个函数,您可以使用该函数来读取平面文件。这些函数通常使用文件的第一行作为列名。

代码语言:javascript
复制
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))
票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63578858

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档