目前支持从 PDF 中抽取表格的应用,其实还真不少。

但是转换的效果,真的是参差不齐。使用的难易程度,也高低不一。有的需要你自己编写脚本,才能完成操作。

其中转换效果较好,使用又方便的,大多是收费的。而且其中有些还着实并不便宜。

几经搜寻对比,我终于找到了一款免费且简便好用的工具。而且经过实际尝试,发现转换效果还不错。

这里,我把它推荐给你。希望能帮你在阅读和写作过程中,提升 PDF 表格数据采集的效率。

安装

它的名字叫做 Tabula ,网站链接在这里。

网站提供了 Windows 和 macOS 版本的下载链接,还有对应的源代码。

我的操作系统是 macOS ,因此这里以 macOS 版本为例。你如果使用 Windows 系统,操作是大同小异的。

请点击对应的链接下载安装。

macOS 系统下载安装文件压缩包,解压之后,会出现这样一个目录。

双击执行其中的 Tabula.app ,你就可以看见浏览器中出现这样的 Web 界面。

下面我们转换一个 PDF 文件试试看。

尝试

这里,我用 BERT 论文中的表格采集为例,给你讲讲 Tabula 的使用方法。

点击上图中的 Browse 按钮,选择硬盘上的 PDF 文件。

然后点击 Import 按钮导入。

导入后的 PDF 文章内容会分页显示出来。

你只需要翻到对应的页面,用鼠标勾选表格区域。

然后点击右上方绿色的 “Preview and Export Extracted Data” 按钮,就可以看到抽取结果了。

然后,点击 Export 按钮,就可以把结果用 CSV 格式导出,并且可以在 Excel 中打开了。

调整

但是,有些复杂表格的提取中,原本不同的列,可能会被错误地放在一起。

例如选择这个表格的时候。

导出的结果就成了这个样子:

这怎么办呢?

其实,处理起来并不算困难。

我们先导出自动转换结果为 CSV ,然后用 Excel 打开。

这里以第一列为例。显然,这里三列数据被挤在了一起。

好在因为这些数据都是用空格分割,因此拆分并不困难。

我们新建两个空列,好容纳新拆出来的数据。

然后选中第一列中需要拆分的数据。

进入 Data 选单,选择 Text to Columns (文本到列)按钮。

第一屏直接继续。

第二屏选择 Space (空格) 作为切分符号。

点击 Finish ,就可以了。

看,是不是已经拆分成功了?

小结

这篇教程读过后,希望你掌握了以下技能:你遇到的功能需求,可能别人早就解决了。因此可以找寻工具来解决,而不必自己重复发明轮子;

对于工具的搜寻,需要掌握主动搜索的技巧。这样才能迅速定位候选项。这里给你推荐一篇搜索引擎使用技巧的教程,链接在这里;

学会利用 Tabula 从 PDF 格式的文档中自动转换表格为 Excel 可读的 CSV 格式;

对于未能正确分列的转换结果,可以使用 Excel 快速进行调整。

祝学习进步!

延伸阅读

你可能也会对以下话题感兴趣。点击链接就可以查看。

喜欢请点赞和打赏。还可以微信关注和置顶我的公众号“玉树芝兰”(nkwangshuyi)。

如果你对 Python 与数据科学感兴趣,不妨阅读我的系列教程索引贴《如何高效入门数据科学?》,里面还有更多的有趣问题及解法。

python将pdf转成excel_如何将pdf版的表格高效的转换成excel形式?相关推荐

  1. html虚拟打印转为pdf,Doro PDF Writer 虚拟打印机 – 可将任何格式图片/文档/文件转换成 PDF格式...

    在办公领域经常要用到 PDF 格式文档,因此常常有图片.表格.Word 等各种不同格式的文档转换成 PDF 格式的需求.虽然网上有很多在线转换网站或 PDF 转换软件,不过今天推荐的是通用性更强的软件 ...

  2. 24.shell中list详解,定义list,获取List的总个数,获取list的某个元素值,将list的每个元素转换成以空格分隔的字符串,空格分隔的字符串转换成list,for循环list

    文章目录 前言 定义list 获取List的总个数 获取list的某个元素值 将list的每个元素转换成以空格分隔的字符串 空格分隔的字符串转换成list for循环list 总结 友情链接 前言 s ...

  3. ant design vue 表格中时间戳转换成时间格式显示

    ant design vue 表格中时间戳转换成时间格式显示 原始数据表格如上图,因为接口传递过来的时间是10位int类型的时间戳格式,所以前端需要我们把时间格式化. step1 安装moment n ...

  4. 《python语言程序设计》第5章 课程内的笔记 中for循环转换成while

    python 里for循环转换成while 这次是第3次尝试成功的记录和心得 请将以下for循环变成while sum = 0for i in range(1001):sum += iprint(su ...

  5. python 如何查看列表(List)的维度? (需要将List转换成numpy数组)

    查看List的维度需要将List转换成numpy数组,惨 import numpy as np l=[[0,1,2],[1,2,3]] print(np.array(l).shape) # (2, 3 ...

  6. python图片转换成文字的手机软件_手机如何将图片转换成文字?用这两种方法转换很简单...

    没有扫描仪怎么将纸质文档变成电子文档?图片上的文字太多想要提取没有好的方法吃苦受累的就是自己!今天分享给大家用手机将图片转换成文字的方法,轻松提取图片文字很简单! 方法一.迅捷文字识别--手机APP ...

  7. 剑指Offer(Java版):把字符串转换成整数

    2019独角兽企业重金招聘Python工程师标准>>> 题目:实现一个函数 stringToInt,实现把字符串转换成整数这个功能,不能使用 atoi 或者其他类似的库函数. 题目解 ...

  8. x3m文件怎么转换成mp3_视频中的音频怎么单独提取出来转换成mp3格式

    视频格式中通常是包含着音频格式的,而在看视频时看见有喜欢的bgm或者片头曲片尾曲时想把其中的音频单独的提取出来怎么办呢?此时通常可以用一些音频转换器把你喜欢的这些音频片段单独的提取出来,接下来就教你怎 ...

  9. 日期格式转换成时间戳格式php,php日期转时间戳,指定日期转换成时间戳

    有朋友问php与mysql有没有办法把日期转时间戳或把指定日期转换成时间戳呢,其实这个是有并且还非常的简单,下面我来给大家介绍介绍. 一.在MySQL中完成 这种方式在MySQL查询语句中转换,优点是 ...

最新文章

  1. 图解WinCE6.0下的内核驱动和用户驱动
  2. Spring MVC拦截器(Interceptor)的配置及使用
  3. docker nginx1.7.6+keepalived实现双机热备
  4. 致敬创新者 | 看中国小企业掌握哪些核心技术?
  5. ACM学习历程—HDU5666 Segment(数论)
  6. 新年新气象[xgluxv]
  7. 人脸对齐(十五)--PIFA with a Single CNN
  8. 如何学习ERP系统并从事相关职业?
  9. 宝藏水晶VRay材质球素材,速来收藏
  10. 视频转换格式 qlv 转 mp4 详解
  11. 数据管理能力成熟度DCMM-简介
  12. 微信小程序:升级版手机检测微信工具小程序源码
  13. 读书笔记:技术的本质-技术是什么,它是如何进化的 (布莱恩•阿瑟)
  14. matlab白光干涉,matlab白光干涉
  15. 卡耐基《人性的弱点》精华总结
  16. python人脸识别代码_Python不用10行代码就可实现人脸识别,还可辨别真假,太棒了!...
  17. GPS的NMEA码的详细解释定义
  18. Bugly 多渠道热更新解决方案
  19. 英文书《用unreal来学习c++》_股市高人经常用“开盘八法”来预判股票一天的走势,可以学习学习...
  20. 第015天:将APP发布到应用商店(完结)

热门文章

  1. java u0002_java 转义字符\u0010 \010 \2等
  2. 苹果的又一失败产品!HomePod音箱渐显颓势
  3. 苹果通知中心服务ANCS协议
  4. CentOS 8更换yum源,顺便扒一下国内常用的开源镜像站
  5. 在电脑上看公众号文章,如翻书一般
  6. Adobe CS4 大师版 Adobe Creative Suite 4 Master Collection MAC版和Windows版
  7. “本分”、有理想的拼多多将会走得更远
  8. 数字、字符和字符串之间的相互转换
  9. 蛋疼--吐槽一下 从魅族、小米和山寨说开去
  10. vivoz5电池测试软件,vivo Z5续航能力测评!配备4500mAh大电池,续航神机名不虚传...