【发布时间】:2019-02-26 19:34:21
【问题描述】:
我正在尝试将格式不佳的 PDF 中的数据提取到 .csv 文件中以进行地理编码。我关心的数据是 2018 年科罗拉多州农贸市场的位置 (https://www.colorado.gov/pacific/sites/default/files/Colorado%20Farmers%27%20Markets.pdf)。我希望拥有的必要字段是 Business_Name、Address、City、State、Zip、Hours、Season、Email 和 Website。问题是数据都在一列中,并且并非所有条目都有 100% 完整的数据。也就是说,一个条目下可能有五个属性(姓名、地址、营业时间、邮编、网站),而另一个条目下可能只有两行属性(姓名、地址)。
我在此处 (http://www.coloradofarmers.org/find-markets/) 找到了一个嵌入的位置地图,其中引用了上面的 PDF 文件。我能够将此地图保存到 MyMaps 并将表格复制/粘贴到 CSV,但缺少条目。
有没有办法将这些数据从 PDF 干净地解析为 CSV?我想我需要做的是创建一个有市场的科罗拉多城镇字典(例如“丹佛”、“佳能城”、“特柳赖德”),然后基本上让 R 浏览该列,将存在的每条新行放在查找之间 -将前一个城市行中的城市全部放在单独的字段列中的一行中。或者作为一个逗号分隔的字段,然后根据字段的外观进行解析。
这是我目前所拥有的:
#Set the working directory
setwd("C:/Users/bwhite/Desktop")
#download the PDF of data
?download.file
download.file("https://www.colorado.gov/pacific/sites/default/files/Colorado%20Farmers%27%20Markets.pdf", destfile = "./ColoradoMarkets2018.pdf", method = "auto", quiet = FALSE, mode = "w", cacheOK=TRUE)
#import the pdf table library from CRAN
install.packages("pdftables")
library(pdftables)
#convert pdf to CSV
?convert_pdf
convert_pdf("Colorado Farmers' Markets.pdf",output_file = "FarmersMarkets.csv",
format = "csv", message = TRUE, api_key = "n7qgsnz2nkun")
# read in CSV
Markets18 <-read.csv("./FarmersMarkets.csv")
#create a look-up table list of Colorado cities
install.packages("htmltab")
library(htmltab)
CityList <-htmltab("https://en.wikipedia.org/wiki/List_of_cities_and_towns_in_Colorado",1)
names(CityList)
感谢任何帮助。
【问题讨论】:
标签: r parsing pdf data-extraction