甚至可能!!!從PDF文件讀取數據到R
我有一堆遺留報告,我需要導入到數據庫中。但是,它們都是pdf格式。有沒有可以閱讀pdf的任何R
包?或者我應該把它留給命令行工具?
這些報告是在excel中進行的,然後是pdfed的,所以它們具有規則的結構,但是有許多空白的「單元格」。
甚至可能!!!從PDF文件讀取數據到R
我有一堆遺留報告,我需要導入到數據庫中。但是,它們都是pdf格式。有沒有可以閱讀pdf的任何R
包?或者我應該把它留給命令行工具?
這些報告是在excel中進行的,然後是pdfed的,所以它們具有規則的結構,但是有許多空白的「單元格」。
只是一個警告下載樣本PDF到其他人誰可能希望提取數據:PDF是一種容器,不是一個格式。如果原始文檔不包含實際文字,與文字的位圖圖像或可能甚至比我能想象的更醜陋的東西相反,沒有什麼比OCR更能幫助您。
最重要的是,在我悲傷的體驗中,不能保證創建PDF文檔的應用程序的行爲都是相同的,因此表中的數據可能會或不會以所需的順序讀取(因爲文檔的構建方式)。要小心。
可能更好地讓一對夫婦研究生爲你轉錄數據。他們很便宜:-)
所以......即使在一張相當複雜的桌子上,這也讓我親近。
library(tm)
pdf <- readPDF(PdftotextOptions = "-layout")
dat <- pdf(elem = list(uri='bmi_tbl.pdf'), language='en', id='id1')
dat <- gsub(' +', ',', dat)
out <- read.csv(textConnection(dat), header=FALSE)
我是遇到我不知道如何解決的問題。下面這行'dat < - pdf(elem = list(uri ='C:/Users/Farrel/Downloads/bmi_tbl.pdf'),language ='en',id ='id1')'產生如下錯誤:Error (con,「r」):無法打開連接 此外:警告消息: 在文件(con,「r」)中: 無法打開文件'C:\ Users \ Farrel \ AppData \ Local \ Temp \ RtmpegXWQ3 \ pdfinfo57c9716105':沒有這樣的文件或目錄。 – Farrel 2013-11-29 15:44:37
它似乎不適合我。我想從中提取一些文本。讓我知道我該怎麼做。 – 2015-03-23 04:48:53
這給了我一個錯誤。在第一行! – Bob 2016-08-17 02:24:12
每zx8754 ......在Win7以下工作與pdftotext.exe在工作目錄:
library(tm)
uri = 'bmi_tbl.pdf'
pdf = readPDF(control = list(text = "-layout"))(elem = list(uri = uri),
language = "en", id = "id1")
我們是否應該閱讀pdf數據到R markdown – 2017-08-03 09:40:38
你也可以(現在)使用新的(2015-07 )Rpoppler
pacakge:
Rpoppler::PDF_text(file)
它包括3個功能(4,真的,但一個只讓你一個PTR的PDF對象):
PDF_fonts
PDF字體信息PDF_info
PDF文檔信息PDF_text
PDF文本提取(張貼作爲一個答案,以幫助新搜索查找包)。
目前包大談特談爲獲取文本出來的PDF是pdftools
(繼任者Rpoppler,上面提到的),偉大工程在Linux,Windows和OSX:在CRAN
install.packages("pdftools")
library(pdftools)
download.file("http://arxiv.org/pdf/1403.2805.pdf", "1403.2805.pdf", mode = "wb")
txt <- pdf_text("1403.2805.pdf")
# first page text
cat(txt[1])
# second page text
cat(txt[2])
以一看之下,似乎沒有任何圖書館這樣做。使用另一種具有此類庫的語言(例如,Perl和Python,例如都有)可能會更好,抓取所需的數據,然後將它寫入可由R讀取的文件中。 – 2012-02-07 23:51:17
@JackManey謝謝, 我也這麼想。在'tm'包(文本挖掘)中有'readPDF',但它不是用戶友好的,我認爲它在引擎蓋下使用命令行實用程序'pdftotext'。 – Justin 2012-02-07 23:56:03
你有我的同情心。也許有一天我們會生活在一個所有數據都可以作爲數據的世界! – 2012-02-08 00:21:57