【问题标题】:Converting character string to multiple columns将字符串转换为多列
【发布时间】:2020-02-25 15:20:59
【问题描述】:

我想得到下表

library(tidyverse)
tb3 <-
  tibble(
    NO1    = c(1, 2)
  , Item   = c("Wheat Flour Bag", "Rice Basmati Broken (Average Quality)")
  , Quan   = c("20 Kg", "1 Kg")
  , Price1 = c(805.00, 90.00)
  , Price2 = c(836.76, 101.52)
  , No2    = c(1, 2)
  )

# A tibble: 2 x 6
    NO1 Item                                  Quan  Price1 Price2   No2
  <dbl> <chr>                                 <chr>  <dbl>  <dbl> <dbl>
1     1 Wheat Flour Bag                       20 Kg    805   837.     1
2     2 Rice Basmati Broken (Average Quality) 1 Kg      90   102.     2

来自以下废品

tb1 <- "  1 Wheat Flour Bag                      20 Kg        805.00      836.76    1"
tb1
[1] "  1 Wheat Flour Bag                      20 Kg        805.00      836.76    1"

tb2 <- "  2 Rice Basmati Broken (Average Quality)1 Kg          90.00      101.52    2"
tb2
[1] "  2 Rice Basmati Broken (Average Quality)1 Kg          90.00      101.52    110.00   85.00    92.86     100.00   75.00    76.63      80.00    70.00      70.00     70.00   70.00     74.71     80.00   90.00      90.00     90.00   70.00    73.19      80.00   2"

【问题讨论】:

  • 由于某些行在列之间没有分隔符,因此您将不得不使用正则表达式解决方案。一个合适的可能需要比前两行更多的信息
  • 到目前为止您尝试了什么,您是如何尝试分隔列的?

标签: r tidyverse stringr


【解决方案1】:

可以考虑多种解决方案,例如

  • 使用substr,因为您的输入似乎有固定宽度的列。
  • 使用 REGEX(grepgrepl 等)对不同部分进行模式匹配。
  • ...

【讨论】:

    猜你喜欢
    • 2016-08-30
    • 2017-08-17
    • 2022-01-17
    • 2021-10-08
    • 1970-01-01
    • 1970-01-01
    • 2021-10-13
    • 2013-07-04
    相关资源
    最近更新 更多