提取PDF表格?方法很简单!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了提取PDF表格?方法很简单!相关的知识,希望对你有一定的参考价值。

参考技术A 我们在工作中经常能碰到表格存储在pdf文档里的情况,要编辑文档就需要将表格提取出来,通过tabula软件提取表格然后使用openrefine来将表格整理成原来的结构是很好的方法,小伙伴们学起来吧,再也不用为碰到pdf表格发愁啦。

1.在tabula中打开 2-China_Factsheet_compressed.pdf文件。

2.框选site information 中的表格

3.点击 preview and export extract data 按钮

4.导出.csv 文件

5.在openrefine中打开 tabula-2-China_Factsheet_compressed (2)文件

6.编码选择 utf-8,Parse next 3 line(s) as column headers 将前三行组合作为列名,并创建项目

7.分析 city列 如chongqing有两个观测站的数据,但chongqing字段在两个观测值中间,无法使用edit cells - fill down 命令。

​ 观察数据在维度列(longitude)每个城市的所有观察值的维度相同,产生想法,根据维度列 新建一个城市列 提取数值,然后根据数值应用facet-text facet 批量更改城市名称。

8.点击longitude列,选择edit column - add columns based on this column,输入正则表达式 value.match(/(\d+)o\d*’E/)[0],新建列名字是city_new。

9.点击edit column- move column to beginning 将city_new列移到最前面,删除原来的city列

10.选择 city_new列 facet - text facet 在左边选择blank 3

[图片上传失败...(image-f6e176-1605105762721)]\14.JPG)

11.选择 all列 edit rows - remove matching rows

12.选择 city_new列 facet - text facet 在左边点edit将longitude值批量修改为城市名称

13.选经度、维度列 editcells -transform 正则表达式处理value.replace("o",".").replace('’N','').toNumber()
value.replace("o",".").replace('’E','').toNumber()

14.选择Altitude列,edit cells - transform 正则 value.toNumber(),修改观察值类型。

\PDF table extract(tabula+openrefine)\25.JPG)

15.选择export - comma-seprated value 保持csv文件

以上是关于提取PDF表格?方法很简单!的主要内容,如果未能解决你的问题,请参考以下文章

在 Python 中提取 PDF 文件的文本和表格

Python-Camelot:用三行代码提取PDF表格数据

C#/VB.NET 从PDF中提取表格

提取pdf文档表格

提取pdf文档表格

python pdfplumber用于pdf表格提取