首页 > 编程语言 >Python读取PDF文档中的表格数据

Python读取PDF文档中的表格数据

时间:2022-09-05 18:56:50浏览次数:67  
标签:12 Python 30 文档 2021 pdf PDF table page

# -*- coding: utf-8 -*-
# 在pdfplumber模块中 提供了extract_tables()方法
import pdfplumber
import pandas as pd


# 提取PDF文档中的表格
def demo1():
    with pdfplumber.open('file/7_2.pdf') as pdf:
        page = pdf.pages[1]
        for table in page.extract_tables():
            print(table)
        pdf.close()


# 批量提取PDF文档中的表格并写入Excel
def demo2():
    a = 0
    with pdfplumber.open('file/历年中国电影票房榜.pdf') as pdf:
        for i in range(len(pdf.pages)):
            page = pdf.pages[1]
            for table in page.extract_tables():
                df = pd.DataFrame(table)
                df.to_excel(f'file/new_file/{a+2012}年中国电影票房榜单.xlsx', index=None, header=None)
                a += 1
                print(table)
            pdf.close()


demo1()
demo2()


demo1()运行结果

[['排名', '上映日期', '影片名称', '总票房(亿)'], ['1', '2021/9/30', '长津湖', '57.7'], ['2', '2021/2/12', '你好,李焕英', '54.1'], ['3', '2021/2/12', '唐人街探案3', '45.2'], ['4', '2021/9/30', '我和我的父辈', '14.8'], ['5', '2021/5/21', '速度与激情9', '13.9'], ['6', '2021/7/30', '怒火·重案', '13.3'], ['7', '2021/7/9', '中国医生', '13.3'], ['8', '2021/3/26', '哥斯拉大战金刚', '12.3'], ['9', '2020/12/31', '送你一朵小红花', '12.0'], ['10', '2021/4/30', '悬崖之上', '11.9'], ['11', '2021/2/12', '刺杀小说家', '10.4'], ['12', '2021/11/11', '扬名立万', '9.2'], ['13', '2021/4/2', '我的姐姐', '8.6'], ['14', '2021/12/17', '误杀2', '8.4'], ['15', '2021/4/30', '你的婚礼', '7.9'], ['16', '2021/2/12', '人潮汹涌', '7.6'], ['17', '2020/12/24', '拆弹专家2', '7.1'], ['18', '2020/12/31', '温暖的抱抱', '6.7'], ['19', '2021/8/27', '失控玩家', '6.1'], ['20', '2021/7/23', '白蛇2:青蛇劫起', '5.8']]


demo2()运行结果

 


 

 

 

标签:12,Python,30,文档,2021,pdf,PDF,table,page
From: https://www.cnblogs.com/zhaoyiguang/p/16659198.html

相关文章

  • 用Python做一个中秋抢购月饼的脚本
    序言每逢佳节倍思亲,想买个东西给家里,结果发现手速不够,网速不够快,没有时间下单等等各种原因导致最后想买的东西售罄了…甚至跟你一起抢购的可能是脚本,太真实了!......
  • ubuntu16 安装 python-networkmanager 失败
    前言ubuntu16安装python-networkmanager失败解决方案sudoapt-getinstalllibdbus-1-devsudoapt-getinstalllibdbus-glib-1-devsudopip3installdbus-python......
  • 关于MicroPython mpremote工具 的一些用例,闲聊
    我尝试了很多不同的第三方micropython工具,有些是Windows应用程序,有些是VScode插件。但是当我尝试过MicroPython的mpremote工具后,我几乎决定它将成为我的首选工具。......
  • python a+模式读取文件时内容为空
    1.pythona+模式打开文件,然后直接读取,这时候读取出来的内容为空----为什么呢?这是因为打开时是以追加的模式打开的,这时候光标定位在最后,此时读取readline,吃从当前光标开......
  • python当中同步接口和异步接口怎么测试【杭州多测师_王sir】【杭州多测师】
    接口测试中可以可以使用httpx进行异步调用,下面对比一下异步调用和同步调用的速度异步调用的代码如下async==》发音athink、表示异步await==》饿威特#异步调用impor......
  • 想了解Python中的super 函数么
    摘要:经常有朋友问,学Python面向对象时,翻阅别人代码,会发现一个super()函数,那这个函数的作用到底是什么?本文分享自华为云社区《Python中的super函数怎么学,怎么解?》,作......
  • 分享|数字社会框架下的未来社区建设方案(附PDF)
    未来社区是围绕促进人的全面发展和社会全面进步,以人本化、生态化、数字化为价值导向,以和睦共治、绿色集约、智慧共享为基本内涵,突出高品质生活主轴,构建的一个归属感、舒适......
  • Python 如何将字符串转为字典
    实习工作中需要将每行读取的字符串例如'{"A":"sad","B":"123"}'这种形式中的123取出来,查找到了这篇文章,对我很有帮助。转载一下防止遗失。将一个 python 的字符串转为......
  • vue 通过URL直接下载PDF文件而不是预览
    项目需求:用户在点击下载时下载文件。该项目为前后端分离项目,download不起作用。我在做这个功能点时使用的方法是直接window.location.href=url可在测试时却发现word等......
  • Python22-逻辑运算符
    逻辑运算符逻辑运算符经常和关系运算符一起使用,通过逻辑运算符来连接多个关系运算符参与的数据:主要就是bool类型的数据比较之后的结果是:bool类型#与and一假俱......