簡體   English   中英

Python 抓取非結構化 PDF

[英]Python scraping an unstructured PDF

我們從提供給我們 PDF 發行說明的供應商那里獲得雙周軟件版本。 筆記中有很多不相關的東西,但最終我們需要 go 並手動將這些筆記中的信息復制/粘貼到 Confluence 頁面中。

理想情況下,我希望能夠編寫一個 python 應用程序,以便能夠從 PDF 中抓取某些部分。結構大致如下(粗體部分是我要提取的部分):

  1. 介紹
  2. 新功能
    2.1. 新功能 1
    描述
    2.2新特性2
    描述
    .
    .
    .
    2.x)新特性 X描述
  3. 缺陷修復
    描述
    缺陷描述表

文檔的 rest 在這種情況下無關緊要

我設法讓它導入文件並提取(全部)文本,但我真的不知道如何只提取第 2 節的標題,然后第 3 節只取表格並用 pandas 重新格式化. go 有什么建議嗎?

import fitz

filename = '~\releasenotes.pdf'

doc = fitz.open(filename)
print (doc) #  Just to see what comes out

(現在我下一步該做什么?)

一個簡單的正則表達式(regular expression)應該可以解決這個問題。 當您閱讀 pdf 時,我正在圍繞文本的外觀做出一些重大假設 - 我已經從您的帖子中復制了文本,並根據您的問題將其稱為“文檔”:)

import re #regular expression library

doc = '''
Introduction
New Features
2.1. New Feature 1
description
2.2 New Feature 2
description
.
.
.
2.x) New Feature X description
'''

ds_features = pd.Series(re.findall('2.[1-9].*\n', doc))

讓我解開最后一行: re.findall將在您的文檔中生成與搜索字符串'2.[1-9].*\n'匹配的項目列表,將找到2.后跟任何數字的所有實例[1-9] ,后跟任意數量的字符.*直到到達換行符\n

希望這符合要求?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM