欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用Python提取PDF表格到Excel文件的操作步驟

 更新時(shí)間:2024年09月25日 10:14:29   作者:Eiceblue  
在對(duì)PDF中的表格進(jìn)行再利用時(shí),除了直接將PDF文檔轉(zhuǎn)換為Excel文件,我們還可以提取PDF文檔中的表格數(shù)據(jù)并寫入Excel工作表,本文將介紹如何使用Python提取PDF文檔中的表格并寫入Excel文件中,需要的朋友可以參考下

引言

在對(duì)PDF中的表格進(jìn)行再利用時(shí),除了直接將PDF文檔轉(zhuǎn)換為Excel文件,我們還可以提取PDF文檔中的表格數(shù)據(jù)并寫入Excel工作表。這樣做可以避免一些不必要的文本和格式帶來的干擾,獲得更易于分析和處理的表格數(shù)據(jù),并方便進(jìn)行更多的格式設(shè)置。利用Python,我們可以實(shí)現(xiàn)對(duì)PDF表格數(shù)據(jù)的批量提取,并寫入Excel工作表中,實(shí)現(xiàn)高效的提取寫入操作。本文將介紹如何使用Python提取PDF文檔中的表格并寫入Excel文件中。

本文所使用的方法需要用到Spire.PDF for PythonSpire.XLS for Python,PyPI:pip install spire.pdf, spire.xls

Python提取PDF表格數(shù)據(jù)寫入Excel工作表

提取表格需要用到Spire.PDF for Python中的PdfTableExtractor類。我們可以使用載入的PDF文檔創(chuàng)建一個(gè)PdfTableExtractor對(duì)象,然后使用PdfTableExtractor.ExtractTable()方法直接提取指定頁面的所有表格返回為列表。然后,我們可以使用PdfTable.GetText()來獲取表格指定單元格的文本,再使用Spire.XLS for Python新建工作表并寫入讀取的數(shù)據(jù)到工作表中的相應(yīng)位置。最后,對(duì)工作表進(jìn)行合適的格式設(shè)置,即可完成PDF表格數(shù)據(jù)到Excel工作表的提取。

以下是詳細(xì)操作步驟:

  1. 導(dǎo)入所需模塊。
  2. 創(chuàng)建 PdfDocument 對(duì)象,并使用 PdfDocument.LoadFromFile() 方法加載PDF文檔。
  3. 創(chuàng)建一個(gè) Workbook 對(duì)象,并使用 Workbook.Worksheets.Clear() 方法清除默認(rèn)工作表。
  4. 為加載的PDF文檔創(chuàng)建一個(gè) PdfTableExtractor 對(duì)象。
  5. 使用 PdfTableExtractor.ExtractTable() 方法提取文檔中每一頁的表格。
  6. 遍歷每個(gè)表格
    • 使用 Workbook.Worksheets.Add() 方法為每個(gè)表格在工作簿中添加一個(gè)工作表。
    • 使用 Table.GetText() 方法遍歷各行各列以獲取單元格值,并通過 Worksheet.Range[].Text 屬性將其插入工作表的相應(yīng)位置。
    • 設(shè)置單元格格式。
  7. 使用 Workbook.SaveToFile() 方法保存工作簿。
  8. 釋放資源。

代碼示例

from spire.pdf import *
from spire.xls import *

# 創(chuàng)建一個(gè) PdfDocument 對(duì)象
pdf = PdfDocument()
# 加載一個(gè) PDF 文檔
pdf.LoadFromFile("示例.pdf")

# 創(chuàng)建一個(gè) Workbook 對(duì)象
workbook = Workbook()
# 清除默認(rèn)工作表
workbook.Worksheets.Clear()

# 創(chuàng)建一個(gè) PdfTableExtractor 對(duì)象
extractor = PdfTableExtractor(pdf)

# 從每個(gè) PDF 頁面提取表格
for pageIndex in range(pdf.Pages.Count):
    tables = extractor.ExtractTable(pageIndex)
    # 如果有多個(gè)表格則迭代
    if tables is not None:
        for tableIndex in range(len(tables)):
            # 獲取一個(gè)表格
            table = tables[tableIndex]
            # 為該表格創(chuàng)建一個(gè)工作表
            sheet = workbook.Worksheets.Add(f"Page{pageIndex + 1}-Table{tableIndex + 1}")
            # 迭代表格的行和列
            for rowIndex in range(table.GetRowCount()):
                for colIndex in range(table.GetColumnCount()):
                    # 獲取單元格的值
                    text = table.GetText(rowIndex, colIndex)
                    cellText = text.replace("\n", "")
                    # 將單元格的值寫入工作表中的相應(yīng)單元格
                    sheet.Range[rowIndex + 1, colIndex + 1].Text = cellText
            # 設(shè)置表頭行樣式
            sheet.Rows.get_Item(0).Style.Font.FontName = "HarmonyOS Sans SC"
            sheet.Rows.get_Item(0).Style.Font.Size = 12
            sheet.Rows.get_Item(0).Style.Font.IsBold = True
            sheet.Rows.get_Item(0).Style.HorizontalAlignment = HorizontalAlignType.Center
            # 設(shè)置數(shù)據(jù)行樣式
            for i in range(1, sheet.Rows.Count):
                sheet.Rows.get_Item(i).Style.Font.FontName = "HarmonyOS Sans SC"
                sheet.Rows.get_Item(i).Style.Font.Size = 12
                sheet.Rows.get_Item(i).Style.HorizontalAlignment = HorizontalAlignType.Left
            # 自動(dòng)調(diào)整列寬
            for j in range(1, sheet.Columns.Count):
                sheet.AutoFitColumn(j)

# 保存工作簿
workbook.SaveToFile("output/PDFTableToExcel.xlsx", FileFormat.Version2016)
workbook.Dispose()
pdf.Close()

結(jié)果

本文演示了如何使用Python提取PDF文檔表格數(shù)據(jù)到Excel文件中。

到此這篇關(guān)于使用Python提取PDF表格到Excel文件的操作步驟的文章就介紹到這了,更多相關(guān)Python提取PDF表格到Excel內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python語言檢測(cè)模塊langid和langdetect的使用實(shí)例

    Python語言檢測(cè)模塊langid和langdetect的使用實(shí)例

    今天小編就為大家分享一篇關(guān)于Python語言檢測(cè)模塊langid和langdetect的使用實(shí)例,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • python使用Word2Vec進(jìn)行情感分析解析

    python使用Word2Vec進(jìn)行情感分析解析

    這篇文章主要介紹了python使用Word2Vec進(jìn)行情感分析解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • Python讀寫Json涉及到中文的處理方法

    Python讀寫Json涉及到中文的處理方法

    下面小編就為大家?guī)硪黄狿ython讀寫Json涉及到中文的處理方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-09-09
  • python中assert用法實(shí)例分析

    python中assert用法實(shí)例分析

    這篇文章主要介紹了python中assert用法,實(shí)例分析了assert的功能及相關(guān)使用技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-04-04
  • 在Python的web框架中編寫創(chuàng)建日志的程序的教程

    在Python的web框架中編寫創(chuàng)建日志的程序的教程

    這篇文章主要介紹了在Python的web框架中編寫創(chuàng)建日志的程序的教程,示例代碼基于Python2.x版本,需要的朋友可以參考下
    2015-04-04
  • Python淺析迭代器Iterator的使用

    Python淺析迭代器Iterator的使用

    這篇文章主要介紹了Python?迭代器Iterator詳情,迭代器可以幫助我們解決面對(duì)復(fù)雜的數(shù)據(jù)場(chǎng)景時(shí),快速簡(jiǎn)便的獲取數(shù)據(jù),下文關(guān)于其詳細(xì)介紹,需要的小伙伴可以參考一下
    2022-07-07
  • 解決pycharm每次打開項(xiàng)目都需要配置解釋器和安裝庫問題

    解決pycharm每次打開項(xiàng)目都需要配置解釋器和安裝庫問題

    最近在使用pycharm開發(fā)新項(xiàng)目的時(shí)候,每次打開新的工程都顯示沒有解釋器,要不加了解釋器就是代碼一堆沒有紅色錯(cuò)誤提示沒有模塊問題,很多朋友都遇到過這種情況,現(xiàn)小編把解決方法分享到腳本之家平臺(tái),需要的朋友一起看看吧
    2020-02-02
  • python opencv實(shí)現(xiàn)旋轉(zhuǎn)矩形框裁減功能

    python opencv實(shí)現(xiàn)旋轉(zhuǎn)矩形框裁減功能

    這篇文章主要為大家詳細(xì)介紹了python opencv實(shí)現(xiàn)旋轉(zhuǎn)矩形框裁減功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • Python使用Slider組件實(shí)現(xiàn)調(diào)整曲線參數(shù)功能示例

    Python使用Slider組件實(shí)現(xiàn)調(diào)整曲線參數(shù)功能示例

    這篇文章主要介紹了Python使用Slider組件實(shí)現(xiàn)調(diào)整曲線參數(shù)功能,結(jié)合實(shí)例形式分析了Python使用matplotlib與Slider組件進(jìn)行圖形繪制相關(guān)操作技巧,需要的朋友可以參考下
    2019-09-09
  • 使用Python開發(fā)游戲運(yùn)行腳本成功調(diào)用大漠插件

    使用Python開發(fā)游戲運(yùn)行腳本成功調(diào)用大漠插件

    閑來無事,想通過python來實(shí)現(xiàn)一些簡(jiǎn)單的游戲輔助腳本,而游戲輔助腳本的主要原理就是通過程序來查找游戲程序窗口,模擬實(shí)現(xiàn)鼠標(biāo)點(diǎn)擊和鍵盤按鍵等事件來實(shí)現(xiàn)游戲輔助的,對(duì)Python開發(fā)游戲運(yùn)行腳本相關(guān)知識(shí)感興趣的朋友跟隨小編一起看看吧
    2021-11-11

最新評(píng)論