Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用R将Pdf转换为CSV_R_Regex_Stringr - Fatal编程技术网

使用R将Pdf转换为CSV

使用R将Pdf转换为CSV,r,regex,stringr,R,Regex,Stringr,我的pdf表格如下所示: 我正在尝试将此表转换为csv文件。我使用的代码如下所示: x该软件包可以轻松地从PDF中提取表格。 它将为每个页面返回一个包含一个元素(矩阵)的列表。因此,我们将矩阵转换为一个数据帧(TIBLE),然后切掉标题并绑定行。 然后我们可以将值(字符串)转换为数字 library(tidyverse) library(tabulizer) (extract_tables("c:/tmp/KMR-1989.pdf", method = "la

我的pdf表格如下所示:

我正在尝试将此表转换为csv文件。我使用的代码如下所示:

x该软件包可以轻松地从PDF中提取表格。
它将为每个页面返回一个包含一个元素(矩阵)的列表。因此,我们将矩阵转换为一个数据帧(TIBLE),然后切掉标题并绑定行。
然后我们可以将值(字符串)转换为数字

library(tidyverse)
library(tabulizer)

(extract_tables("c:/tmp/KMR-1989.pdf",
                method = "lattice") %>% 
  map(as_tibble) %>% 
  map_dfr(slice, 4:1000) %>% 
  mutate_at(3:19, as.numeric) %>% 
  write_csv("my_pdf.csv"))

#> # A tibble: 44 x 19
#>    V1    V2        V3    V4    V5    V6    V7    V8    V9   V10   V11   V12
#>    <chr> <chr>  <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#>  1 1     MALLA~    0   545.  316.  82.9  944.   2.1     0   0     2.1     0
#>  2 2     RAIKAL  321.  741.  226.  92.9 1381.  40.6     0   1.4  42       0
#>  3 3     DHARM~  210.  503   271  187.  1171.   2       0  35.6  37.6     0
#>  4 4     VELGA~  360.  336.  286. 143.  1124.  38       0  23.4  61.4     0
#>  5 5     KAMAN~    0   442.  242. 130    814.   0       0   0     0       0
#>  6 6     MANTH~  297.  394   320. 202   1213.  34.8     0   0    34.8     0
#>  7 7     KATAR~    0   493   468  245   1206   20       0   0    20      17
#>  8 8     MAHAD~  329   534   546  165   1574   28       0   0    28       0
#>  9 9     MUTHA~  260.  293   296  253   1102.  31       0   0    31       0
#> 10 10    PEDDA~  392.  277.  151.  85    905.  10.2     0   0    10.2     0
#> # ... with 34 more rows, and 7 more variables: V13 <dbl>, V14 <dbl>,
#> #   V15 <dbl>, V16 <dbl>, V17 <dbl>, V18 <dbl>, V19 <dbl>
库(tidyverse)
图书馆(tabulizer)
(摘录表格(“c:/tmp/KMR-1989.pdf”,
method=“lattice”)%%>%
映射(作为可存储项)%>%
map_dfr(切片,4:1000)%>%
在(3:19,作为数值)%>%处变异
写_csv(“my_pdf.csv”))
#>#A tibble:44 x 19
#>V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12
#>                
#>1马拉~0 545。31682.9  944.   2.1     0   0     2.1     0
#>2拉伊卡尔321。74122692.9 1381.  40.6     0   1.4  42       0
#>3达拉姆~210。503   271  187.  11712       0  35.6  37.6     0
#>4韦尔加~360。336286143112438       0  23.4  61.4     0
#>5卡曼~0 442。242130    814.   0       0   0     0       0
#>6月6日至297日。394   320. 202   1213.  34.8     0   0    34.8     0
#>7 7卡塔~0 493 468 245 1206 20 0 17
#>8马哈德329 534 546 165 1574 28 0 28 0
#>9穆塔~260。293   296  253   1102.  31       0   0    31       0
#>10佩达~392。27715185    905.  10.2     0   0    10.2     0
#> # ... 还有34行和7个变量:V13,V14,
#>#V15、V16、V17、V18、V19

这几乎是可以复制的,但是没有人可以尝试在文件上使用
pdftools
的关键部分。虽然我一般不鼓励链接,但在这种情况下,我们需要一个“真正的PDF文件”来测试一些东西。你能提供这个PDF文件的链接吗?@r2evans:谢谢你的评论。相应地更新了我的问题。是我的小姐,谢谢你的回答!它解决了我的问题
map\u dfr
不适用于我的案例。因此,我使用了
map\u df
。解释也很精彩。再次感谢!!