博客 / 詳情

返回

Python代碼轉換PDF為CSV

數據的可訪問性和可操作性是數據管理的核心要素。PDF格式因其跨平台兼容性和版面固定性,在文檔分享和打印方面表現出色,尤其適用於報表、調查結果等數據的存儲。然而,PDF的非結構化特性限制了其在數據分析領域的應用。相比之下,CSV格式以其簡單、通用且易於處理的特點,成為數據操作和分析的理想選擇。
將PDF轉換為CSV極大地提升了數據的實用價值。Python作為一種強大的編程語言,能夠高效完成這一轉換任務。本文將介紹如何利用Python實現從PDF到CSV的轉換

  • 將PDF表格數據轉換為CSV文件

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

申請免費License

將PDF表格數據轉換為CSV文件

CSV作為一種結構化的通用表格文件,支持以簡單的形式儲存表格數據,但不支持複雜的格式設置以及複雜的表格信息。因此,我們在轉換PDF文檔為CSV文件時,通常只轉換PDF文檔中的表格為CSV文件。
庫中提供了PdfTableExtractor類來處理PDF文檔表格的提取操作,並且支持獲取表格單個單元格的文本。利用這些類和方法,我們就可以實現從PDF表格到CSV文件的轉換。
以下是操作步驟:

  1. 導入所需模塊。
  2. 創建PdfDocument對象。
  3. PdfDocument.LoadFromFile()方法載入PDF文檔。
  4. 創建PdfTableExtractor對象以處理表格提取操作。
  5. 循環PDF文檔中的頁面:

    • 使用PdfTableExtractor.ExtractTable()方法提取當前頁面的表格為一個集合。
    • 遍歷集合中的表格:

      • 獲取表格行數和列數。
      • 遍歷表格的行和列:

        • 使用Utilities_PdfTable.GetText()方法獲取單元格數據。
        • 將數據儲存為列表。
      • 使用csv模塊將表格數據寫入CSV文件。
  6. 釋放資源。

代碼示例

from spire.pdf import PdfDocument, PdfTableExtractor
import csv

# 創建一個 PdfDocument 實例
pdf = PdfDocument()

# 加載 PDF 文檔
pdf.LoadFromFile("示例.pdf")

# 創建一個 PdfTableExtractor 實例
extractor = PdfTableExtractor(pdf)

# 遍歷 PDF 文檔的每一頁
for i in range(pdf.Pages.Count):
    # 提取當前頁的表格
    tables = extractor.ExtractTable(i)
    # 遍歷表格
    for j in range(len(tables)):
        table = tables[j]
        tableData = []
        # 獲取行數和列數
        rowCount = table.GetRowCount()
        colCount = table.GetColumnCount()
        # 遍歷行和列
        for row in range(rowCount):
            rowData = []
            for col in range(colCount):
                # 獲取單元格的文本
                text = table.GetText(row, col)
                text = text.replace("\n", "").replace("\r", "")
                rowData.append(text)
            tableData.append(rowData)
        # 將表格數據保存到 CSV 文件
        with open(f"output/Tables/Table{i+1}_{j+1}.csv", "w", newline="", encoding="utf-8") as csvFile:
            writer = csv.writer(csvFile)
            writer.writerows(tableData)

# 釋放資源
pdf.Dispose()

轉換結果
Python轉換PDF為CSV

本文演示瞭如何使用Spire.PDF for Python將PDF表格轉換為CSV文件。

更多PDF文檔處理技巧請前往Spire.PDF for Python教程查看。

user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.