2

我正在使用 pdf 工具通过首先转换为 png 来从扫描文件中提取数据。由于pdf工具是从png读取的,因此无缘无故出现了一些标点符号。除了“|”之外,我可以删除其中的大部分。

这是我的数据:

c("| January 2,310,501 2,342,654 + 14%", "| February 2,221,036 2,316,278 + 4.3%", )

我希望我的数据可以是这样的:

c("January 2,310,501 2,342,654 + 14%", "February 2,221,036 2,316,278 + 4.3%",)

从附图中可以看出,“|” 改变了我的数据结构,我不能简单地从第二列读取数据。我想要的是删除“|” 元素。然后其余元素可以向前移动。您还可以找到附件中的文件。感谢您的帮助。

4

2 回答 2

2

您可以使用lapply删除"|".

lapply(test2, function(x) x[x != '|'])

#[[1]]
#[1] "January" "test"   

#[[2]]
#[1] "February"  "2, 602,33"

同样,map使用purrr

purrr::map(test2,  ~.x[.x != '|'])

对于更新的数据,我们可以使用gsub

test <- trimws(gsub('\\|', '', test))
test

# [1] "January 2,310,501 2,342,654 + 14%"        "February 2,221,036 2,316,278 + 4.3%"     
# [3] "March 2,602,503 2,571,661 ( -1.2% )"      "April 2,471,788 2,485,989 i 0.6%"        
# [5] "May 2,418,547 2,512,922 + 3.9%"           "June 2,412,882 2,430,232 + 0.7%"         
# [7] "July 2,462,907 2,535,594 + 3.0%"          "August 2,526,211 2,638,753 + 4.5%"       
# [9] "September 2,434,132 2,480,466 * + 1.9%"   "October 2,552,215 2,642,990 * + 3.6%"    
#[11] "November 2,306,106 2,428,806 + 5.3%"      "December _ 2,283,294 2,250,016 ( -1.5% )"

数据

test2 <- list(c('|', 'January', 'test'), c('February', '2, 602,33', '|'))
于 2020-03-24T00:46:59.837 回答
1

我们可以用setdiff

lapply(test2, setdiff, "|")
#[[1]]
#[1] "January" "test"   

#[[2]]
#[1] "February"  "2, 602,33"

数据

test2 <- list(c('|', 'January', 'test'), c('February', '2, 602,33', '|'))
于 2020-03-24T18:09:24.507 回答