2009-03-26 12 views
11

pythonを使用して.doc、.ppt、および.xlsをlinuxのプレーンテキストに変換する方法について教えてください。実際にどのような変換方法も有用です。私はすでにOpen Officeを使用していましたが、Open Officeをインストールする必要がないソリューションが欲しいです。python Linux用のMicrosoft Officeドキュメントをプレーンテキストに変換する

+0

私はOPが望んでいただけのように、オープンオフィス形式を使用していないため、コマンドライン溶液で – Tim

答えて

9

私はコマンドライン - ソリューションのために行きます(そして、Python subprocess moduleを使ってPythonからツールを実行します)。 mswordは(catdoc)、エクセル(xls2csv)とPPT(catppt)用

変換器は、(ソース形式で)ここで見つけることができる:http://vitus.wagner.pp.ru/software/catdoc/

catpptの有用性については実際にコメントできませんが、catdocとxls2csvはうまく機能します!

しかし、最初にあなたのディストリビューションリポジトリを検索してください...例えば、ubuntuでは、catdocはすぐに1つのapt-get awayです。

+0

+1を行ってきました。 – Droogans

5

Microsoft OfficeドキュメントをHTMLまたは他の形式に変換するための通常のツールはmswordviewでした。これはその後、vwWareに名前が変更されました。あなたは、コマンドラインツールを探しているなら

、彼らが実際に変換を実行するためにAbiWordのを使用することをお勧め:あなたはライブラリを探しているなら

AbiWord --to=txt 

wvWare overview pageに開始します。彼らはまたa list of libraries and tools which read MS Office documentsを維持します。

1

Excelスプレッドシートの場合はxlwtが良いです。しかし、.doc.pptファイルでは役に立ちません。

(あなたはまた、PyExceleratorのを聞いたことがあります。xlwtは、この、より良いので、私はあなたがxlwtとの方が良いと思う維持のフォークです。)

1

antiwordまたはwv仕事を非常にうまく.docファイルのために。 (Pythonのソリューションではありませんが、インストールと高速化が容易です)

0

XMLベースのオフィスファイルをXSLTを使って過去に使用可能なものに処理するのに成功しました。それは必ずしもPythonベースのソリューションではありませんが、それは仕事を完了します。

1

ここに同じ問題があります。以下は、dir 'docs /'内のすべてのdocファイルをcatdocを使ってdir 'txts /'に変換する簡単なスクリプトです。それが誰かを助けることを願っています:

#!/usr/bin/env python 
# -*- coding: utf-8 -*- 

import glob, re, os 
f = glob.glob('docs/*.doc') + glob.glob('docs/*.DOC') 

outDir = 'txts' 
if not os.path.exists(outDir): 
    os.makedirs(outDir) 
for i in f: 
    os.system("catdoc -w '%s' > '%s'" % 
       (i, outDir + '/' + re.sub(r'.*/([^.]+)\.doc', r'\1.txt', i, 
            flags=re.IGNORECASE))) 
+1

Haha ... + 1はpythonを使用しています... bashを使用します。 OPの要求に固執しています。 ':D' – Droogans

+0

@Droogans:彼は、これらの多言語のクイックスクリプトは本当に皮肉です。私はbashで作業を始めました。出力ファイル名を変える規則が変わったので、それをPythonスクリプトの中に入れました。サブプロセスモジュール、パイプなどを使用するよりも簡単です – neves

関連する問題