通過 Power Query 將數據從 PDF 導入 Excel

將數據從 PDF 文件中的電子表格傳輸到 Microsoft Excel 工作表的任務總是“有趣”的。 特別是如果您沒有像 FineReader 或類似的昂貴的識別軟件。 直接複製通常不會帶來任何好處,因為。 將復制的數據粘貼到工作表上後,它們很可能會“粘在一起”成一列。 因此,他們將不得不使用工具精心分離 按列顯示文本 從標籤 數據 (數據 - 文本到列).

當然,只能複制那些有文本層的PDF文件,即剛剛從紙質掃描到PDF的文檔,這在原則上是行不通的。

但它並不那麼難過,真的🙂

如果您有 Office 2013 或 2016,那麼在幾分鐘內,無需其他程序,就可以將數據從 PDF 傳輸到 Microsoft Excel。 Word 和 Power Query 將在這方面為我們提供幫助。

例如,讓我們以來自歐洲經濟委員會網站的包含大量文本、公式和表格的 PDF 報告為例:

通過 Power Query 將數據從 PDF 導入 Excel

…並嘗試在 Excel 中將其拉出,例如第一個表:

通過 Power Query 將數據從 PDF 導入 Excel

我們走吧!

步驟 1. 在 Word 中打開 PDF

出於某種原因,很少有人知道,但自 2013 年以來,Microsoft Word 已經學會了打開和識別 PDF 文件(甚至是掃描的文件,也就是說,沒有文本層!)。 這是以完全標準的方式完成的:打開 Word,單擊 文件——打開 (文件——打開) 並在窗口右下角的下拉列表中指定 PDF 格式。

然後選擇我們需要的PDF文件並點擊 已提交 (打開). Word 告訴我們它將在此文檔上運行 OCR 到文本:

通過 Power Query 將數據從 PDF 導入 Excel

我們同意,幾秒鐘後,我們將看到我們的 PDF 已在 Word 中打開以供編輯:

通過 Power Query 將數據從 PDF 導入 Excel

當然,設計、樣式、字體、頁眉和頁腳等都會部分脫離文檔,但這對我們來說並不重要——我們只需要表格中的數據。 原則上,在這個階段,簡單地將表格從已識別的文檔複製到 Word 中,然後簡單地將其粘貼到 Excel 中已經很誘人了。 有時它會起作用,但更多時候它會導致各種數據失真——例如,數字可以變成日期或保留文本,就像我們的例子一樣,因為。 PDF 使用非分隔符:

通過 Power Query 將數據從 PDF 導入 Excel

所以讓我們不要偷工減料,而是讓一切變得更複雜一些,但是正確的。

步驟 2:將文檔另存為網頁

然後將接收到的數據加載到 Excel 中(通過 Power Query),我們在 Word 中的文檔需要以網頁格式保存——在這種情況下,這種格式是 Word 和 Excel 之間的一種共同點。

為此,請轉到菜單 文件 - 另存為 (文件 - 另存為) 或按 鍵 F12 在鍵盤和打開的窗口中,選擇文件類型 一個文件中的網頁 (網頁 - 單個文件):

通過 Power Query 將數據從 PDF 導入 Excel

保存後,您應該會得到一個帶有 mhtml 擴展名的文件(如果您在資源管理器中看到文件擴展名)。

第 3 階段。通過 Power Query 將文件上傳到 Excel

您可以直接在Excel中打開創建的MHTML文件,但我們會立即獲得PDF的所有內容,以及文本和一堆不必要的表格,其次,我們將再次因不正確而丟失數據分隔符。 因此,我們將通過 Power Query 加載項導入 Excel。 這是一個完全免費的插件,您可以使用它從幾乎任何來源(文件、文件夾、數據庫、ERP 系統)將數據上傳到 Excel,然後以各種可能的方式轉換接收到的數據,使其具有所需的形狀。

如果你有 Excel 2010-2013,那麼你可以從微軟官方網站下載 Power Query——安裝後你會看到一個標籤 電源查詢. 如果您有 Excel 2016 或更高版本,則無需下載任何內容 - 默認情況下,所有功能都已內置到 Excel 中,並且位於選項卡上 數據 (日期) 在小組 下載並轉換 (獲取和轉換).

所以我們要么去標籤 數據,或在選項卡上 電源查詢 並選擇一個團隊 獲取數據 or 創建查詢 - 從文件 - 從 XML. 要使 XML 文件不僅可見,請將窗口右下角下拉列表中的過濾器更改為 所有文件 (所有文件) 並指定我們的 MHTML 文件:

通過 Power Query 將數據從 PDF 導入 Excel

請注意,導入不會成功完成,因為。 Power Query 需要我們提供 XML,但我們實際上有 HTML 格式。 因此,在出現的下一個窗口中,您需要右鍵單擊 Power Query 無法理解的文件並指定其格式:

通過 Power Query 將數據從 PDF 導入 Excel

之後,該文件將被正確識別,我們將看到它包含的所有表的列表:

通過 Power Query 將數據從 PDF 導入 Excel

您可以通過在數據列中單元格的白色背景(不是單詞表!)中單擊鼠標左鍵來查看表的內容。

定義所需表後,單擊綠色單詞 枱燈 ——然後你“陷入”它的內容:

通過 Power Query 將數據從 PDF 導入 Excel

它仍然需要做幾個簡單的步驟來“梳理”它的內容,即:

  1. 刪除不必要的列(右鍵單擊列標題 - 清除)
  2. 用逗號替換點(選擇列,右鍵單擊 - 替換值)
  3. 刪除標題中的等號(選擇列,右鍵單擊 - 替換值)
  4. 刪除第一行 (首頁 – 刪除行 – 刪除頂行)
  5. 刪除空行 (首頁 - 刪除行 - 刪除空行)
  6. 將第一行提升到表頭(主頁 – 使用第一行作為標題)
  7. 使用過濾器過濾掉不必要的數據

當表格恢復其正常形式時,可以使用命令將其卸載到工作表上 關閉並下載 (關閉並加載) on 主要的 標籤。 我們將獲得我們已經可以使用的美麗:

通過 Power Query 將數據從 PDF 導入 Excel

  • 使用 Power Query 將列轉換為表
  • 將粘性文本拆分為列

發表評論