批量提取PDF中表格内容

news2024/9/23 19:23:34

1 背景

从PDF文件获取表格中的数据,也是日常办公容易涉及到的一项工作。比如我们想获取某公司年报里面的表格数据,PDF动辄上百页的数据。

2 传统方法

一个一个从PDF表格中复制,然后粘贴到Excel表格中,效率太低了。

3 办公自动化

来看看我的方法,如何用 Python 解决的。使用pdfplumber读取PDF文件,自动提取每一页的表格,循环写入新的Excel文件中,思路跟传统方法一样,但是花费的时间呢?不要眨眼睛,我只需要按下运行按钮,一切的操作都自动运行起来了,所有的文件都自动生成了,命名都做好了,随机打开一两个查看一下,没有问题,都是准确的。

4 代码实现

## 导入工具包
import pdfplumber
import pandas as pd

## 读取 PDF 文件
p = pdfplumber.open("./贵州茅台2019年年报.pdf")

# 选好读取全部页面
for i in range(len(p.pages)):
    ## 读取一页中全部表格
    tables = p.pages[i].extract_tables()
    print(f'第{i+1}页一共有{len(tables)}个表格') 
    for j in range(len(tables)):
        ## 生成表格
        df = pd.DataFrame(tables[j])
        ## 写入 Excel 文件
        df.to_excel(f'./贵州茅台2019年年报_第{i+1}页_第{j+1}张表.xlsx')

实现效果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1921126.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

读懂一本书

各位好,今天我们要分享的这本书叫作《读懂一本书》。 很不好意思,书的作者是我。并不是我写的所有的书我都一定要讲,我也有很多合辑类的书籍是从来不讲的,我讲过《可复制的领导力》,讲过《低风险创业》,还有今天的这本《读懂一本书》,都是我有一些原创的观点和价值在里…

仕考网:公务员考试的录取流程

公务员考试的录取流程分很多个阶段,以下是流程介绍: 1. 报名阶段:考生需根据公布的招聘信息和岗位要求进行报名。 2. 笔试阶段:公务员笔试,包括申论和行测两部分。 3. 成绩公布与面试资格:笔试合格者将获…

通过vagrant与VirtualBox 创建虚拟机

1.下载vagrant与VirtualBox【windows版本案例】 1.1 vagrant 下载地址 【按需下载】 https://developer.hashicorp.com/vagrant/install?product_intentvagranthttps://developer.hashicorp.com/vagrant/install?product_intentvagrant 1.2 VirtualBox 下载地址 【按需下载…

数据说话,效益为王:构建高效精益生产KPI监控体系

一、精益生产和KPI指标管理 在智慧工厂的蓝图中,精益生产已从抽象概念升华为一种深邃的经营哲学,它崇尚的是资源利用的极致效率——以最精简的投入,撬动最大化的产出价值。其核心精髓,在于不遗余力地剔除任何形式的冗余与浪费&am…

python基础语法 005 函数1-1

1 函数 1.1 什么是函数 指:输入一定的数据以后,能根据里面的执行步骤,算出一些数据的值;得到相关的数据,获取对于的输出值。 存储指定功能的程序,进行相应的复用 解释: 洗衣服 》输入值&…

【简历】兰州某大学一本硕士:面试通过率基本是为0

注:为保证用户信息安全,姓名和学校等信息已经进行同层次变更,内容部分细节也进行了部分隐藏 简历说明 这是一个一本硕士的Java简历,那这个简历因为学校本身,它是一个一本的硕士,我们一般认为这一本硕士&a…

数据结构之顺序存储线性表实现详解与示例(C,C#,C++)

文章目录 一、顺序存储线性表的基本概念二、顺序存储线性表的实现1、数据结构定义2、初始化3、添加元素4、访问元素5、修改元素6、删除元素7、销毁 三、示例C语言示例C#语言示例C语言示例 顺序存储线性表是一种基本的数据结构,它将线性表的元素按照一定的顺序存放在…

TCP协议的三次握手和四次挥手(面试)

三次握手 首先可以简单的回答: 1、第一次握手:客户端给服务器发送一个 SYN 报文。 2、第二次握手:服务器收到 SYN 报文之后,会应答一个 SYNACK 报文。 3、第三次握手:客户端收到 SYNACK 报文之后&#xf…

windows单机版mongodb安装

1、先从官网下载安装包官网下载地址 2.本地解压并创建目录 2.1创建data和log目录 2.2创建mongodb.cfg # mongod.conf# for documentation of all options, see: # http://docs.mongodb.org/manual/reference/configuration-options/# Where and how to store data. storag…

Docker基本管理1

Docker 概述 Docker是一个开源的应用容器引擎,基于go语言开发并遵循了apache2.0协议开源。 Docker是在Linux容器里运行应用的开源工具,是一种轻量级的“虚拟机”。 Docker 的容器技术可以在一台主机上轻松为任何应用创建一个轻量级的、可移植的、自给自…

143. 最长同值路径(卡码网周赛第二十五期(23年B站笔试真题))

题目链接 143. 最长同值路径(卡码网周赛第二十五期(23年B站笔试真题)) 题目描述 给定一个二叉树的 root ,返回最长的路径的长度,这个路径中的每节点具有相同值。这条路径可以经过也可以不经过根节点。两个…

Wifi贴码推广怎么加入?如何提高收益

自Wifi贴码鼻祖微.火于2021年6月推出全球第一张共享WIFI贴码以来,wifi贴码项目便一直是有入局意向的创业者们的重点关注对象之一。在此背景下,以wifi贴码推广怎么加入为代表的问题更是成为了相关创业者社群中的讨论热点。 事实上,对于尚未入局…

端侧智能为什么有前途

年前陆续和很多小伙伴聊过端侧智能的价值,吹捧的、贬低的都有,各自也都有自己的理由。这里,谨作为利益相关方,分享一下自己对端侧智能的看法,尝试回答端侧智能有没有用、为什么有用和该怎么用的问题。文章不含技术干货…

Java BigInteger 类

目录 BigInteger 1. 如何获取一个BigInteger类型的对象? (1)构造方法 (2)静态方法 2. 常用方法 BigInteger 可以用来表示很大很大的数,有多大都可以。通过创建对象调用相应的方法。详见:…

2024年高职云计算实验室建设及云计算实训平台整体解决方案

随着云计算技术的飞速发展,高职院校亟需构建一个与行业需求紧密结合的云计算实验室和实训平台。以下是针对2024年高职院校云计算实验室建设的全面解决方案。 1、在高职云计算实验室的建设与规划中,首要任务是立足于云计算学科的精准定位,紧密…

文章范冰冰高调官宣入驻TikTok!“跨境“的风最终刮到了娱乐圈

在当前的跨境电商行业,我们正见证一个“多元化”时代的到来。特别是最近从国内聚光灯中消失好几年的范冰冰,迅速成为了跨境电商行业的焦点。 范冰冰宣布正式入驻 TikTok,希望为自己的美妆品牌 Fan Beauty Diary,铺开一条新路。 …

【逆向基础】十、工具分享之DIE(Detect It Easy)

一、简介 DIE(Detect It Easy)是一款可以轻松检测PE文件的程序;其主要作用是查壳,并将pe文件的内容解析出来,包括PE文件中包含的导入函数、导出函数的名称及地址,入口函数地址等,是技术人员分析…

A Low-Latency Metadata Service for Geo-Distributed File Systems——论文泛读

Journal of Systems Architecture 2022 Paper 分布式元数据论文阅读笔记整理 问题 地理分布式文件系统已被web服务广泛使用,但访问不同地理位置的服务器延迟不同,当用户访问远程服务器时,将出现不可容忍的服务延迟。目前的大多数分布式文件…

华为认证试题有题库吗?华为认证题库怎么领取?

在竞争激烈的就业环境下,若你拥有华为认证将可以提高个人综合能力,更好的适应行业变化。相信大家都有听说过想考取华为初级认证并不困难,因为它有专门的题库供考生备考。 那么,到底华为认证试题有题库吗?华为认证题库要怎么领取…

Spring中的适配器模式和策略模式

1. 适配器模式的应用 1.1适配器模式(Adapter Pattern)的原始定义是:将一个类的接口转换为客户期望的另一个接口,适配器可以让不兼容的两个类一起协同工作。 1.2 AOP中的适配器模式 在Spring的AOP中,使用Advice&#…