私はPDF形式のメーリングリストリストを持っています。メーリングリストは非常に一般的なフォーマット、すなわち著者名の後に本の名前が続きます。 次の例を検討:民主主義理論にPythonを使用してpdfを解析し、著者名と書籍名を抽出します
アメリカのリーディングリスト
民主主義論
•ダール、序文を
•シュンペーター、資本主義、社会主義、そして民主主義(はじめとパートIVのみ)
•教師、生命、そしてタイムズ・オブ・リベラル民主主義
•ダール、民主主義とその批判を
は、今私は、PDFの鉱山労働者を使用してPDFファイルを解析し、最初のインデックスに著者名で、2番目のインデックスは本の名前でリストを作成しようとしていますただ、このように:
[ダール、民主主義論によせ]
私はコンマと著者名の後にスペースがあるため、分割機能を使用しようとしています。しかし、私は正しい結果を得ていません。 誰かが助けることができますか?
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
こんにちは、ありがとうございました。しかし、私はまだ正しい出力を得ていません。私はこのような何かを得ている:[['ダール'、 '民主主義理論への序論、資本主義、社会主義、そして民主主義(序論と第4部のみ)マハルダー、生活とタイムズ、民主主義とその批評家]] –
'convert_pdf_to_txt()'に改行が含まれていないと推測されます。これは、おそらくPDFが実際に改行を含んでいないからです(単に「ここでこれを印刷してください」、「ここ」は次の行の先頭にあります)。あるアイテムが終了し、次のアイテムがどこで始まるかを検出できる他の方法はありますか?それには弾丸が含まれていますか?もしそうなら、あなたはそれらを分割しようとすることができます。 – kindall
私は何とか新しいライン分割機能を使って結果を達成しました。しかし、著者名と書籍名を組み合わせようとすると、より大きなリストの第1要素と第2要素のリストを別々に作成することによって、問題に遭遇しました。 [['American Reading List'、 'Revised //']、['Democratic Theory'、 'Madison']、['Federalist'、 ' ']、[' Dahl '、' Democratic Theoryの序文 '] –