複雑なドキュメント (.rtf、.doc、.odt など) 内の単語をカウントするにはどうすればよいですか?
-
20-09-2019 - |
質問
ドキュメント ファイルへのパスを指定して、そのドキュメント内の単語数を返す Python 関数を作成しようとしています。これは .txt ファイルを使用すると非常に簡単に行うことができ、より複雑なドキュメント形式のサポートをまとめてハッキングできるツールもありますが、私は本当に包括的なソリューションが必要です。
OpenOffice.org の py-uno スクリプト インターフェイスとサポートされる形式のリストを見ると、ヘッドレス OOo にドキュメントをロードして、そのワードカウント関数を呼び出すのが理想的であるように思えます。しかし、基本的なドキュメント生成を超える py-uno チュートリアルやサンプル コードは見つかりません。また、見つけたコード スニペットでさえ 5 年前から古くなり、機能しなくなりました。
OOo や Uno を使用するかどうかに関係なく、さまざまな形式のドキュメントの信頼できる文字数を取得するにはどうすればよいでしょうか?
解決
ヘッドレス OOo にドキュメントをロードする そしてそれを呼び出します ワードカウント機能
PyODコンバータ は、OOo を使用して複数のファイル タイプを変換するための最近 (2009 年 11 月) のスクリプトです。スクリプトを見ると、OOo でサポートされているすべてのドキュメントの基本的な読み込みが含まれています。
OOo をヘッドレス サービスとして開始する方法は次のとおりです。
soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard
次に、コマンドラインで OOo を呼び出し、スクリプトを実行して OOo を閉じる小さなブートストラップを作成するだけです。
他のヒント
これはあなたのためのオプションではないかもしれないが、場合にはそれがある - あなたは、Googleドキュメントにドキュメントをアップロードして、.txt形式でエクスポートすることができます。 Googleは通常、変換のために非常に素晴らしい仕事をしていません。
あなたはここでは関係のAPIを見つけることができます:ます。http: //code.google.com/intl/pl/apis/documents/docs/1.0/developers_guide_python.htmlする
ログイン、アップロードとエクスポートのセクションを見てみましょう。