从PDF的特定位置提取数据?

时间:2016-12-27 21:23:54

标签: r pdf

我正在尝试从pdf中提取数据,该文件位于https://www.dol.gov/ui/data.pdf。我感兴趣的数据在PDF的第4页,是初始索赔(NSA)的3个观察结果,保险失业(NSA)的3个观察结果,以及最近一周使用的覆盖就业(脚注2) 。

我已经使用pdftools将PDF读入R,但生成的文本输出非常难看(由于PDF的性质,有点可以预期)。有什么办法可以从这个文本输出中提取特定数据吗?我相信数据将始终在输出中的相同位置,这是有帮助的。

我正在查看的输出可以通过以下脚本看到:

library(pdftools)

download.file("https://www.dol.gov/ui/data.pdf", "data.pdf", mode="wb")

uidata <- pdf_text("data.pdf")
uidata[4]

我搜索过类似问题的人并且使用scan()和grep()进行了调整,但似乎无法找到一种方法来从文本输出中分离和提取我需要的数据。如果有人偶然发现并且可以指出我正确的方向,请提前感谢 - 如果不是,我会试图解决这个问题!

1 个答案:

答案 0 :(得分:6)

使用public void TestMethod5() { using (SqlConnection connection = new SqlConnection(ConnectionString)) { var dictionary = new object[] { "TRN001","TR001"} .Select((item, ind) => new { ind = ind.ToString(), item }) .ToDictionary(item => item.ind, item => item.item); DynamicParameters p = new DynamicParameters(dictionary); Train train = connection.Query<Train>("Trains.Awesomesauce", param: p, commandType: CommandType.StoredProcedure).FirstOrDefault<Train>(); } } 和一点regex,您可以将所需的一切都变成可用的结构:

grep

您仍然需要解析这些数字,但至少它是可用的。