通过Python的pdfplumber库提取pdf中表格数据

news2025/1/12 3:45:34

文章目录

  • 前言
  • 一、pdfplumber库是什么?
  • 二、安装pdfplumber库
  • 三、查看pdfplumber库版本
  • 四、提取pdf中表格数据
    • 1.引入库
    • 2.定义pdf文件路径
    • 3.打开pdf文件
    • 4.获取pdf文件中的页数
    • 5.遍历每一页
    • 6.获取当前页内容
    • 7.提取表格数据
    • 8.输出表格数据
    • 9.效果
  • 总结

前言

大家好,我是空空star,本篇给大家分享一下《通过Python的pdfplumber库提取pdf中表格数据》

一、pdfplumber库是什么?

pdfplumber是一个用于从PDF文档中提取文本和表格数据的Python库。它可以帮助用户轻松地从PDF文件中提取有用的信息,例如表格、文本、元数据等。pdfplumber库的特点包括:简单易用、速度快、支持多种PDF文件格式、支持从多个页面中提取数据等。pdfplumber库还提供了一些方便的方法来处理提取的数据,例如排序、过滤和格式化等。它是一个非常有用的工具,特别是在需要从大量PDF文件中提取数据时。

二、安装pdfplumber库

pip install pdfplumber

三、查看pdfplumber库版本

pip show pdfplumber

Name: pdfplumber
Version: 0.9.0
Summary: Plumb a PDF for detailed information about each char, rectangle, and line.
Home-page: https://github.com/jsvine/pdfplumber
Author: Jeremy Singer-Vine
Author-email: jsvine@gmail.com
License:
Requires: pdfminer.six, Pillow, Wand
Required-by:

四、提取pdf中表格数据

1.引入库

import pdfplumber

2.定义pdf文件路径

local = '/Users/kkstar/Downloads/'

3.打开pdf文件

with pdfplumber.open(local+"demo_table.pdf") as pdf:

4.获取pdf文件中的页数

    num_pages = len(pdf.pages)

5.遍历每一页

    for page_num in range(num_pages):

6.获取当前页内容

        page = pdf.pages[page_num]

7.提取表格数据

        table = page.extract_table(table_settings={
            "vertical_strategy": "lines",
            "horizontal_strategy": "lines",
            "intersection_x_tolerance": 15,
            "intersection_y_tolerance": 15
        })

8.输出表格数据

        for row in table:
            print(row)

9.效果

['username', 'nickname', 'article']
['weixin_38093452', '空空 star', '130889268']
['weixin_38093452', '空空 star', '130852811']
['weixin_38093452', '空空 star', '130815851']

Process finished with exit code 0

总结

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

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

相关文章

聊聊美剧202306

刚把《黄石》系列看完,决定写点最近看的美剧,总共十一部,小评一下,写点东西~ 《黄石》 《黄石》已经到第五季了,看样子还得继续拍。刚开始看《黄石》的时候,确实有种陷进去的感觉,很美很宏伟的电…

leetcode 264.丑数

题目描述跳转去leetcode 给你一个整数 n ,请你找出并返回第 n 个 丑数 。 丑数 就是只包含质因数 2、3 和/或 5 的正整数。 来源:leecode:https://leetcode.cn/problems/ugly-number-ii/ 解法1, 动态规划 定义一个数组用来记录前…

VMware Workstation 安装 AlmaLinux 9.2

VMware Workstation 安装 AlmaLinux 9.2 AlmaLinux 9.2 镜像下载AlmaLinux 9.2 安装创建新用户配置免密 sudo 到 root 用户配置 ssh key 登录挂载新磁盘 AlmaLinux 9.2 镜像下载 访问 https://mirrors.almalinux.org/isos.html 下载安装镜像, AlmaLinux 9.2 安装 …

K8s进阶7——Sysdig、Falco、审计日志

文章目录 一、分析容器系统调用:Sysdig1.1. 安装1.2 常用参数1.3 采集分析1.4 示例1.4.1 查看某进程系统调用事件1.4.2 查看建立TCP连接事件1.4.3 查看某目录下打开的文件描述符1.4.4 查看容器的系统调用 1.5 Chisels工具1.5.1 网络类1.5.2 硬盘类1.5.3 cpu类1.5.4 …

新型智慧园区解决方案之园区通行管理设计

智慧园区作为现代化城市化建设的重要组成部分,已经成为未来城市的重要发展方向。在智慧园区的建设中,通行管理是一个十分重要的问题。为了解决这一问题,我们需要进行一系列的设计和方案的制定。 一、园区交通规划设计 园区交通规划设计是通…

IIS总线介绍

IIS是飞利浦在1986年定义(1996年修订)的数字音频传输标准,用于数字音频数据在系统内器件之间传输,例如编解码器CODEC、DSP、数字输入/输出接口、ADC、DAC和数字滤波器等。其与IC无关联。 IIS总线的信号: BCLK,串行时钟也叫位时钟…

以太坊 – 部署智能合约到Ganache

目录 1. Ganache本地区块链 1.1 主界面 1.2 设置 2. 开发智能合约 2.1 初始化项目 2.2 添加package.json文件 2.3 添加智能合约源文件 2.4 编译项目 3. 部署智能合约到Ganache 3.1 更新配置文件 3.2 创建迁移脚本 3.3 执行迁移命令 1. Ganache本地区块链 首先启动…

springboot配置Swagger3.0

springboot配置Swagger3.0 1、pom加入依赖 我们创建一个SpringBoot项目&#xff0c;引入 swagger3 依赖 <dependency><groupId>io.springfox</groupId><artifactId>springfox-boot-starter</artifactId><version>3.0.0</version>…

任正非:ChatGPT对我们的机会是什么,内部讲话实录!

ChatGPT狂飙160天&#xff0c;世界已经不是之前的样子。 我新建了人工智能中文站https://ai.weoknow.com 每天给大家更新可用的国内可用chatGPT资源 为感谢全国火花奖获奖者对于产业界及科学界做出的重大贡献&#xff0c;华为组织了与部分获奖老师与专家的座谈会。座谈会上&…

LeetCode.46. 全排列(回溯法入门)

写在前面&#xff1a; 题目链接&#xff1a;LeetCode.46. 全排列 编程语言&#xff1a;C 题目难度&#xff1a;中等 一、题目描述 给定一个不含重复数字的数组 nums &#xff0c;返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。 示例 1&#xff1a; 输入&#xff1a…

【震撼GPT-4崛起!年薪60万工作被GPT-4取代,成本仅2千多,引发轰动!】

目录 福利&#xff1a;文末纯分享中文版CHAT GPT镜像&#xff0c;不存在魔法&#xff0c;纯分享免费使用 一、前言 1、GPT-4的表现&#xff0c;与一位6年工作经验的人类相当 2、GPT-4完成所有类型的任务都要比人类快得多&#xff01; 二、GPT-4当数据分析师&#xff0c;都…

聊一聊影响LCD屏背光效率的几个重要因素

前阶段&#xff0c;小白的一个朋友参加了一个面试。面试完和小白说到其技术面过程惨不忍睹。被提及原因时&#xff0c;主要还是因为面试者提出的问题&#xff0c;小白的朋友答复的可能不是很让面试官满意。出于好奇&#xff0c;小白问了问都存在哪些问题&#xff0c;其中一道便…

论文笔记:Graph neural networks: A review of methods and applications

1 GNN的设计pipeline 1.1 获取图结构 结构化场景 图结构在应用问题中是已知的 比如分子结构、物理系统非结构化场景 图结构在应用问题中是未知的 需要根据任务人为地建图 1.2 判断图的类型 & 尺寸 图的类型 有向图/无向图//异构图/同构图 图中的点和边类型是不是一样的…

Prometheus 简单介绍,部署

目录 Prometheus 介绍 功能介绍 Prometheus安装 安装介绍 prometheus.yml 文件介绍 prometheus实施安装 Prometheus常用命令参数有哪些 设置Prometheus-server开机自动启动 &#xff08;解释&#xff09; Prometheus简单启动页面介绍 node_exporte 是做什么的 安装n…

【个人笔记】真寻bot部署记录+远程postgreSQL访问+源码食用记录

安装 0. 系统配置 Centos v8.2 1. 安装 使用真寻bot https://github.com/zhenxun-org/zhenxun_bot-deploy bash <(curl -s -L https://raw.githubusercontent.com/zhenxun-org/zhenxun_bot-deploy/master/install.sh)选择1&#xff0c;安装go-cqhttp和zhenxun_bot&…

java boot项目读取yml配置信息

之前 我们讲过 boot的配置文件格式主要有三种 application.properties application.yml application.yaml 我们说推荐用 application.yml 其实从 xml 到 yml 都是要系统去读取他的配置信息 今天 我们就来写一下 在java中读取 yml的配置 这里 我在 yml中多加两个配置 代码如下…

LabView中顺序结构的使用

LabView中的顺序结构能够保证程序按照一定的顺序运行。LabView中的顺序结构分为平铺式顺序结构和层叠式顺序结构两种。 1 平铺式顺序结构 平铺式顺序结构包括一个或多个顺序执行的子程序框图&#xff0c;这种框图也被成为“帧”&#xff0c;程序按照帧为单位&#xff0c;以从…

MKS SERVO4257D 闭环步进电机_系列3 串口(RS485)指令说明

第1部分 产品介绍 MKS SERVO 28D/35D/42D/57D 系列闭环步进电机是创客基地为满足市场需求而自主研发的一款产品。具备脉冲接口和RS485/CAN串行接口&#xff0c;支持MODBUS-RTU通讯协议&#xff0c;内置高效FOC矢量算法&#xff0c;采用高精度编码器&#xff0c;通过位置反馈&am…

ATA-3000系列功率放大器在精密微流体控制中的典型应用

ATA-3000系列功率放大器在精密微流体控制中的典型应用 压电陶瓷精密微流体控制应用&#xff1a; 精密微流体控制在医药配比、遗传基因与生物工程、航空航天、军工国防等方面具有广泛的应用&#xff0c;特别是在大流量伺服阀先导控制领域&#xff0c;具有重要作用。随着压电陶瓷…

TPO69 01|Why Snakes Have Forked Tongues P5P6|阅读真题精读|17:50~19:35

17:00&#xff5e;17:50 吃饭 目录 P56 生词 段落大意 P5段落大意 P6段落大意 题目 【5】事实信息题|定位准确非常重要✅ 【6】事实信息题|定位准确非常重要✅ 【7】推理题|文章是否提及|不要过度推理 【8】修辞目的题|举例一般为了说明✅ 【9】句子插入题|in other words|同义…