我正在尝试使用制表器解析一些历史性的原油价格数据,并遇到似乎是编码错误的情况。下面是带有我要抓取的文件之一的可复制示例。
library(tidyverse)
library(tabulizer)
library(pdftools)
#example file
file <- "https://paalp.s3.amazonaws.com/plains/media/bulletins/paa/monthly/2000/December%202000.pdf"
#download file
#check file info - nothing on encoding per se
pdf_info(file)
pdf_info不会返回任何异常信息,只是文件相对较旧。我尝试将它们作为表格或文本运行,但遇到了不同类型的错误,但文本调用似乎揭示了问题所在。
#attempt to parse table from page 1
pricing_tables<-extract_tables(file,page=1)
#grab as text
pricing_text<-extract_text("Files/test.pdf",page=1)
当我拿到桌子时,价格的第一列没有被限制,插入了额外的小数位,等等。
当我以文本形式毕业时,我可以看到编码字符,这些字符似乎将其中的一些扔掉了。
West Texas Intermediate - Area #1...................................................…......................................................…30.75 * 28 75 * 28 00 * 26.25 * 26.75 * 26.25 *\r\n
其他几个测试位。首先,我可以将PDF渲染为位图,然后内容适当地传输。不确定这是否完全有用。
# render into raw bitmap
bitmap <- pdf_render_page(file)
png::writePNG(bitmap, "test.png")
接下来,如果我从PDF复制到Excel,则会出现相同的错误:
任何想法或帮助都值得赞赏。
安德鲁