📜  将 pdf 文件夹转换为 Excel 大熊猫 - Python (1)

📅  最后修改于: 2023-12-03 15:25:14.616000             🧑  作者: Mango

将 pdf 文件夹转换为 Excel 大熊猫 - Python

简介

本文介绍了如何使用 Python 将存储着 PDF 文件的文件夹中的数据转换为 Excel 中的 Pandas DataFrame。该过程涉及到多个 Python 库的使用,例如 pdfminer.six、Pandas 还有 os 等。

思路

处理 PDF 文件的主要库是 pdfminer.six。通过调用该库中的 PDFParser 进行漫长的文本提取。提取的文本可以将其转化为 Pandas 中的 DataFrame,通过简单的操作,可以通过 Pandas 和 Excel 文件进行数据处理。

代码片段

下面的代码片段展示了如何使用 Python 将存储 PDF 文件的文件夹中的数据转换为 Excel 中的 Pandas DataFrame。

import os
from io import StringIO
from pdfminer.pdfparser import PDFParser
from pdfminer.pdfdocument import PDFDocument
from pdfminer.pdftypes import resolve1
import pandas as pd
 
def read_pdf(file):
    """
    读取 PDF 文件文本
    :param file: 指向 PDF 文件的路径
    :return: PDF 文件文本
    """
    with open(file, 'rb') as fp:
        parser = PDFParser(fp)
        doc = PDFDocument(parser)
        fields = resolve1(doc.catalog['AcroForm'])['Fields']
        for i in fields:
            yield resolve1(i)['T'], resolve1(i)['V']

def pdf_to_dataframe(path):
    """
    将 PDF 文件夹中的数据转换为 DataFrame
    :param path: PDF 文件夹的路径
    :return: 对应 PDF 文件夹的 Pandas DataFrame
    """
    data = pd.DataFrame()
    for file in os.listdir(path):
        if file.endswith('.pdf'):
            for key, value in read_pdf(os.path.join(path, file)):
                data = data.append({
                    'PDF 文件': file,
                    '字段名': key.decode(),
                    '字段值': value.decode()
                }, ignore_index=True)
    return data
结论

现在,你已经知道如何使用 Python 将 PDF 文件夹转换为 Excel 文件中的 Pandas DataFrame。该技术是处理大规模 PDF 数据的基本技术之一。简而言之,该技术帮助人们在短时间内读取、处理和存储 PDF 文件。