友情链接
建站教程
NotionNext介绍
NotionNext操作说明
写作是最值得投资的技能
往期整理
历史归档
文章分类
文章标签
关于我
English
下弄六号
  • 友情链接
  • 建站教程
    •   NotionNext介绍
    •   NotionNext操作说明
    •   写作是最值得投资的技能
  • 往期整理
    •   历史归档
    •   文章分类
    •   文章标签
  • 关于我
  • English
  • 5️⃣空白文章20241001

    2021-7-2|2024-10-9
    NotionNext
    NotionNext
    type
    status
    date
    slug
    summary
    tags
    category
    icon
    password
    你们都是虫子。 ——《三体》
    今年对于新的一年真是有特殊的感受,因为这真正意义上是**「新的一年」**。
    从放假这几天能感受出,曾经那些烟火气回来了。希望我和小气球在新的一年,也能越来越好,有新的收获。
    新年第一篇,来点干货学习吧,毕竟学无止境呀。
    notion image
    pandas 是目前最流行的 Python 数据分析库(重复讲了非常多次了,但是还是要继续强调一下)。
    它可以直接从各种外部来源读取数据,包括从 CSV、 Excel 表格、 JSON 文件、 SQL 数据库,甚至从剪贴板读取。在前面的教程中也有部分涉及,有兴趣的可以翻看之前的文章。
    但是**「目前pandas还没有直接读取 PDF 文件中的数据的方法」。**
    值得庆幸的是,tabula-py 库可以在 PDF 中以 DataFrames 的形式读取这些表。
    接下来就让我们来实际操作一下。
    notion image
    在开始之前,如果还没有安装tabula-py库,可以使用如下代码进行安装:
    我们将以一本名为“pandas cookbook”的书(Ted Petrou在2017年出版)中提取一个表。PDF 的图像内容如下:
    notion image
    Tabula-py 能自动读取通过 read _ pdf 函数传递过来的页面上的所有表。我们所要做的就是给它提供 PDF 文档的文件路径和要提取的页面。
    可以看到,输入结果表示读取到了一个内容,目前为止输出正常。
    我们再试着把pandas读取的内容打印出来看看是不是正常显示:
    notion image
    可以看到,表头这边出了一点错误,需要我们后续调整一下。
    对于这个PDF,我们想要的是提取出正确的表格,其中包含格式、副本、收入、版税四列。而实际上,Tabula 提取的内容比预计的多,导致表格并没有提取的非常好。
    我们可以使用pandas来清理数据,但 tabula-py 为我们提供了参数来定义整个表本身的边界和列的定位。相对 _ area 和相对 _ column 参数被设置为 True,这允许我们提供区域和列参数的边界,作为页面的百分比,而不是点坐标。在我看来,使用相对页面百分比更容易定义边界。传递区域列一个由顶部、左部、底部和右部组成的四项列表。它们表示表相对于页的边界。列的三项列表表示分隔四列的垂直线。让我们重新读入数据并输出结果 DataFrame。
    notion image
    这个提取看起来更好,几乎正是我们想要的。让我们检查每个列的数据类型,以了解哪些列需要更多处理。
    notion image
    方便地,成功地将“副本”列转换为整数。“收入”和“使用费”列作为字符串读入。我们现在必须转向熊猫将这些列转换为浮动。为此,我们使用正则表达式将任何美元符号、逗号和空格替换为空格。
    notion image
    在本教程中,我们将自定义输入传递到 tabula-py 的 read _ PDF 函数中,以提取作为熊猫 DataFrame 的 PDF 中的表。然后我们清理了结果,熊猫能够使用正则表达式替换字符。Tabula-py 还有几个选项可用于定制提取过程。
    技术分享
    健康
    推荐
    绑定成功测试空白文章
    Loading...
    2021-2024 NotionNext.

    下弄六号

    Powered by NotionNext 4.7.5.
    • About
    NotionNext
    NotionNext
    一个普通的干饭人🍚
    🎉NotionNext 4.5已经上线🎉
    -- 感谢您的支持 ---
    👏欢迎更新体验👏
    操作手册
    更新记录
    联系我们