0
我有一個PDF格式的郵件參考列表。郵件列表有一個非常通用的格式,例如作者名稱,後面跟着該書的名稱。 請看下面的例子:使用Python解析PDF和提取作者和書名
美國閱讀列表
民主理論
•達爾,序民主理論
•熊彼特,資本主義,社會主義與民主(導第四部分)
•自由人的人格,生活和時代民主
•達爾,民主及其批判
現在我嘗試使用PDF礦工解析PDF格式,並創建一個列表,其中在第一索引是作者名,第二個指標是這本書的名字就像這樣:
[達爾,序民主理論]
我試圖使用分割功能,因爲有一個逗號和後面的作者姓名的空間。但是我沒有得到正確的結果。 有人可以幫忙嗎?
def extract():
string = convert_pdf_to_txt("/Users/../../names.pdf")
lines = list(filter(bool, string.split('\n')))
for i in lines:
check.extend(i.split(','))
x=remove_numbers(check)
remove_blank= [x for x in x if x]
combine_two = [remove_blank[x:x + 2] for x in xrange(0,len(remove_blank), 2)]
print combine_two
嗨kindall,謝謝你的幫助。但是我仍然沒有得到正確的結果。[達爾','民主主義理論小冊子,資本主義,社會主義和民主(僅介紹和第四部分)自由民主達人,民主及其批評家的人生,時代]] –
我的猜測是你的'convert_pdf_to_txt()'不包括換行符。經過反思,這可能是因爲PDF實際上沒有包含換行符(他們只是說「在這裏打印下一個」和「這裏」恰好在下一行的開頭)。有沒有其他的方法可以檢測到一個項目結束和下一個開始?它包括子彈嗎?如果是這樣,你可以嘗試拆分這些。 – kindall
我不知何故使用新的行分割功能來實現結果。然而,試圖將作者姓名和書名結合起來,通過將更大的列表中的每個第一和第二元素單獨列出,我遇到了一個問題。標題隨着作者姓名..這是一個結果的片段: [[''美國閱讀列表','修訂//'],['民主理論','麥迪遜'],['聯邦黨','' '],['達爾','民主理論序言'] –