最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

利用Python實(shí)現(xiàn)從PDF到CSV的轉(zhuǎn)換

 更新時(shí)間:2024年07月08日 11:10:11   作者:Eiceblue  
將PDF轉(zhuǎn)換為CSV極大地提升了數(shù)據(jù)的實(shí)用價(jià)值,Python作為一種強(qiáng)大的編程語言,能夠高效完成這一轉(zhuǎn)換任務(wù),本文將介紹如何利用Python實(shí)現(xiàn)從PDF到CSV的轉(zhuǎn)換,需要的朋友可以參考下

引言

數(shù)據(jù)的可訪問性和可操作性是數(shù)據(jù)管理的核心要素。PDF格式因其跨平臺(tái)兼容性和版面固定性,在文檔分享和打印方面表現(xiàn)出色,尤其適用于報(bào)表、調(diào)查結(jié)果等數(shù)據(jù)的存儲(chǔ)。然而,PDF的非結(jié)構(gòu)化特性限制了其在數(shù)據(jù)分析領(lǐng)域的應(yīng)用。相比之下,CSV格式以其簡(jiǎn)單、通用且易于處理的特點(diǎn),成為數(shù)據(jù)操作和分析的理想選擇。

將PDF轉(zhuǎn)換為CSV極大地提升了數(shù)據(jù)的實(shí)用價(jià)值。Python作為一種強(qiáng)大的編程語言,能夠高效完成這一轉(zhuǎn)換任務(wù)。本文將介紹如何利用Python實(shí)現(xiàn)從PDF到CSV的轉(zhuǎn)換。

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

將PDF表格數(shù)據(jù)轉(zhuǎn)換為CSV文件

CSV作為一種結(jié)構(gòu)化的通用表格文件,支持以簡(jiǎn)單的形式儲(chǔ)存表格數(shù)據(jù),但不支持復(fù)雜的格式設(shè)置以及復(fù)雜的表格信息。因此,我們?cè)谵D(zhuǎn)換PDF文檔為CSV文件時(shí),通常只轉(zhuǎn)換PDF文檔中的表格為CSV文件。

庫(kù)中提供了PdfTableExtractor類來處理PDF文檔表格的提取操作,并且支持獲取表格單個(gè)單元格的文本。利用這些類和方法,我們就可以實(shí)現(xiàn)從PDF表格到CSV文件的轉(zhuǎn)換。

以下是操作步驟:

  1. 導(dǎo)入所需模塊。
  2. 創(chuàng)建PdfDocument對(duì)象。
  3. PdfDocument.LoadFromFile()方法載入PDF文檔。
  4. 創(chuàng)建PdfTableExtractor對(duì)象以處理表格提取操作。
  5. 循環(huán)PDF文檔中的頁面:
    • 使用PdfTableExtractor.ExtractTable()方法提取當(dāng)前頁面的表格為一個(gè)集合。
    • 遍歷集合中的表格:
      • 獲取表格行數(shù)和列數(shù)。
      • 遍歷行、列:
        • 使用Utilities_PdfTable.GetText()方法獲取單元格數(shù)據(jù)。
        • 將數(shù)據(jù)儲(chǔ)存為列表。
    • 使用csv模塊將表格數(shù)據(jù)寫入CSV文件。
  6. 釋放資源。

代碼示例

from spire.pdf import PdfDocument, PdfTableExtractor
import csv

# 創(chuàng)建一個(gè) PdfDocument 實(shí)例
pdf = PdfDocument()

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

# 創(chuàng)建一個(gè) PdfTableExtractor 實(shí)例
extractor = PdfTableExtractor(pdf)

# 遍歷 PDF 文檔的每一頁
for i in range(pdf.Pages.Count):
    # 提取當(dāng)前頁的表格
    tables = extractor.ExtractTable(i)
    # 遍歷表格
    for j in range(len(tables)):
        table = tables[j]
        tableData = []
        # 獲取行數(shù)和列數(shù)
        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)
        # 將表格數(shù)據(jù)保存到 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()

轉(zhuǎn)換結(jié)果

本文演示了如何使用Spire.PDF for Python將PDF表格轉(zhuǎn)換為CSV文件。

到此這篇關(guān)于利用Python實(shí)現(xiàn)從PDF到CSV的轉(zhuǎn)換的文章就介紹到這了,更多相關(guān)Python實(shí)現(xiàn)PDF轉(zhuǎn)CSV內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Flask?使用類組織配置詳情

    Flask?使用類組織配置詳情

    這篇文章主要介紹了Flask使用類組織配置,在實(shí)際的項(xiàng)目中,我們一般都會(huì)建立三個(gè)環(huán)境:開發(fā)、測(cè)試和生產(chǎn)環(huán)境,這三種環(huán)境會(huì)使用不同的配置組合,為了能方便地切換配置,我們可以為不同的環(huán)境創(chuàng)建不同的配置文件,下面來看詳細(xì)內(nèi)容,需要的朋友可以參考一下
    2021-11-11
  • Python imutils 填充圖片周邊為黑色的實(shí)現(xiàn)

    Python imutils 填充圖片周邊為黑色的實(shí)現(xiàn)

    今天小編就為大家分享一篇Python imutils 填充圖片周邊為黑色的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • Python利用邏輯回歸分類實(shí)現(xiàn)模板

    Python利用邏輯回歸分類實(shí)現(xiàn)模板

    這篇文章主要介紹了Python利用邏輯回歸分類實(shí)現(xiàn)模板的思路,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-02-02
  • Python解決C盤卡頓問題及操作腳本示例

    Python解決C盤卡頓問題及操作腳本示例

    這篇文章主要為大家介紹了Python解決C盤卡頓問題腳本示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • Python 使用 raise 語句拋出異常的流程分析

    Python 使用 raise 語句拋出異常的流程分析

    在Python編程中,異常處理是至關(guān)重要的一部分,本文將探討 Python 中 raise 語句的使用方法以及如何通過 raise 語句來拋出各種類型的異常,從而有效地進(jìn)行異常處理,感興趣的朋友跟隨小編一起看看吧
    2021-02-02
  • Matplotlib學(xué)習(xí)筆記之plt.xticks()用法

    Matplotlib學(xué)習(xí)筆記之plt.xticks()用法

    在matplotlib中ticks表示的是刻度,而刻度有兩層意思,一個(gè)是刻標(biāo)(locs),一個(gè)是刻度標(biāo)簽(tick?labels),下面這篇文章主要給大家介紹了關(guān)于Matplotlib學(xué)習(xí)筆記之plt.xticks()用法的相關(guān)資料,需要的朋友可以參考下
    2022-09-09
  • Python實(shí)現(xiàn)對(duì)字符串中字符提取校驗(yàn)

    Python實(shí)現(xiàn)對(duì)字符串中字符提取校驗(yàn)

    眾所周知,python之所以很方便在一定程度上是因?yàn)殡S時(shí)都可能有人又創(chuàng)作了一個(gè)好用又方便的python非標(biāo)準(zhǔn)庫(kù)。本文就來用Python實(shí)現(xiàn)對(duì)字符串中字符進(jìn)行提取校驗(yàn),需要的可以參考一下
    2022-10-10
  • python文件編寫好后如何實(shí)踐

    python文件編寫好后如何實(shí)踐

    在本篇文章里小編給大家分享了關(guān)于python文件編寫好后如何實(shí)踐的相關(guān)內(nèi)容,需要的朋友們可以參考下。
    2020-07-07
  • opencv中圖像疊加/圖像融合/按位操作的實(shí)現(xiàn)

    opencv中圖像疊加/圖像融合/按位操作的實(shí)現(xiàn)

    這篇文章主要介紹了opencv中圖像疊加/圖像融合/按位操作的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • Python 照片人物背景替換的實(shí)現(xiàn)方法

    Python 照片人物背景替換的實(shí)現(xiàn)方法

    本文主要介紹了如何通過Python實(shí)現(xiàn)照片中人物背景圖的替換,甚至可以精細(xì)到頭發(fā)絲,感興趣的小伙伴可以看看
    2021-11-11

最新評(píng)論

沁源县| 开江县| 隆德县| 花莲县| 离岛区| 平谷区| 庆云县| 会东县| 屯留县| 民丰县| 马公市| 利川市| 冷水江市| 沾化县| 靖边县| 抚松县| 丹凤县| 甘泉县| 陇川县| 隆昌县| 壤塘县| 铜陵市| 黄大仙区| 文登市| 东光县| 晋宁县| 京山县| 友谊县| 揭阳市| 乌拉特中旗| 彭泽县| 富川| 拉萨市| 抚顺市| 绥滨县| 长兴县| 灵寿县| 资溪县| 扶绥县| 吕梁市| 洛南县|