python pdf转Excel

23 篇文章 0 订阅
15 篇文章 0 订阅

源文件为test.pdf
目标文件为pdf.xlsx


import pdfplumber  # 关键在这个库
import pandas as pd


def func(src, dest='pdf.xlsx'):
    pdf = pdfplumber.open(src)
    size = len(pdf.pages)  #pdf有多少页

    with pd.ExcelWriter(dest) as writer:# 多页表格内容写入一个Excel
        count = 0
        j = 0 
        is_start = False
        for i in range(size):
            print('reading page %d' % i)
            page = pdf.pages[i]
            content = page.extract_text()
            # 这段代码是为了匹配表开始的地方
            if not is_start:
            	# 判断表开始的文字
                if content.lstrip().startswith('附表:网下投资者初步配售明细'):
                    is_start = True
                else:
                    continue
            # 提取表格,非表格就跳过
            try:
                table = page.extract_table()
            except:
                continue
            # 表格内容会转化为dataframe
            df = pd.DataFrame(table)
            #避免出现多个dataframe的表头
            if count == 0:
                df.to_excel(writer, header=False, index=False, startrow=count)
            else:
                df[1:].to_excel(writer, header=False, index=False, startrow=count - j)
                j += 1  # 避免出现空行

            count += len(df)
            pass

        writer.save()
        writer.close()
        pass


if __name__ == '__main__':
    func('test.PDF')


  • 1
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
要使用PythonPDF换为Excel,你可以使用tabula-py这个Python库。tabula-py是一个用于从PDF文件中提取表格的库,可以将表格导出为CSV或DataFrame格式。你可以通过安装tabula-py库来开始使用它。首先,你需要在命令行或终端中运行以下命令来安装tabula-py库: ``` pip install tabula-py ``` 安装完成后,你需要使用PyPDF2库来读取PDF文件。你可以使用以下命令来安装PyPDF2库: ``` pip install PyPDF2 ``` 安装完这两个库后,你可以使用tabula-py库的功能来提取PDF中的表格,并将其导出为Excel文件。具体的步骤如下: 1. 导入所需的库: ``` import tabula import PyPDF2 ``` 2. 使用PyPDF2库打开并读取PDF文件: ``` with open('example.pdf', 'rb') as file: reader = PyPDF2.PdfReader(file) num_pages = len(reader.pages) ``` 3. 使用tabula-py库提取PDF中的表格并导出为Excel文件: ``` for i in range(num_pages): df = tabula.read_pdf('example.pdf', pages=i+1) df<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [python实现PDF表格化为Excel的方法](https://blog.csdn.net/weixin_68789096/article/details/131808671)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值