使用pdfplumber和pandas处理PDF并输出excel(实例)

该博客介绍了一个Python脚本,用于处理含有key列的中文PDF表格。脚本读取PDF中的表格,然后根据Excel文件中key和value列的对应关系,替换PDF表格中key列的值,最后将处理后的数据导出为Excel格式。主要涉及的技术包括pdfplumber库进行PDF处理,pandas进行数据操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需求

输入为中文PDF格式的表格,包含名为key的列,根据Excel中key,value两列对应的值,输出PDF中的表格,并将key列的值替换为Value,格式为Excel。

解决方案

import pandas as pd
import pdfplumber

def dealPdfandExcel(pdfFilePath, excelFilePath, outPath):
   #pdfFilePath为PDF输入路径
    pdf = pdfplumber.open(pdfFilePath)
    pages = pdf.pages
    page = pages[0]
    #str1 = page.extract_text()[14:106].split(',')
    #str2 = page.extract_text()[106:163].split(',')
    tables = page.extract_tables()
    table = tables[0]
    df1 = pd.DataFrame(table[:])
	#excelFilePath为EXCEL输入路径
    df2 = pd.read_excel(excelFilePath)  # sheet_name不指定时默认返回全表数据
    df2 = df2[1:]

    #替换df1第0列的值
	after = []
    for i in df1[0]:
        temp = 0
        for zw, yw in zip(df2['key'], df2['value']):
            if i == zw:
                after.append(yw)
                temp = 1
                break
        if temp == 0:
            after.append(i)
    df1[0] = pd.Series(after)

  
    #str1 = "".join(str1)
    #str2 = "".join(str2)
	#outPath为输出的EXCEL路径
    writer = pd.ExcelWriter(outPath)
    df1.to_excel(writer, index=None, header=None, startrow=1)
    ws = writer.sheets['Sheet1']
    ws.write_string(0, 4, '标题')
    #ws.write_string(1, 0, str1)
    #ws.write_string(2, 0, str2)
    writer.save()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值