2012-04-26 12 views
1

私はpython-excelモジュールを使っていくつかのテストを行っています。私はこれらのモジュールを使用してExcelシートの行を削除する方法を見つけることができないようで、インターネットは解決策を提示していません。 python-excelモジュールを使用して行を削除する方法はありますか?excel row xlwt、python

私の場合は、Excelシートを開き、最初の行を読み込み、有効なデータが含まれているかどうかを確認し、そうでない場合は削除します。

ご提案は大歓迎です。モジュール名はExcelのライター(作成ではなく、変更)funcionalityを示唆するよう

マイク

答えて

2

xlwtが用意されています。一方、xlrdはExcelリーダーの機能を提供します。

あなたのソースファイルはかなり単純です秀でる(など無い派手なグラフ、ピボットテーブル、)、あなたがこの方法を続行する必要がある場合:

xlrdモジュールを用いて標的の内容がファイルをエクセル読み、[xlwtとモジュールは、必要な行を含む新しいExcelファイルを作成します。

ただし、Windowsプラットフォームでこれを実行している場合は、Microsoft COMオブジェクトsee old book referenceを介して直接Excelを操作できる場合があります。

+0

提案のためのThansk jbreicis! – Mike

+0

@マイケル大歓迎です – jbreicis

1

私は同じ問題を有するが散歩を発見された:

  1. は、ソースのコピーを生成するために、カスタムフィルタ処理(リーダー> FILTER1> FILTER2> ...>ライター)を使用してファイルをエクセル正面に空白の列が挿入されています。このファイルをaugmented.xlsとしましょう。

  2. そして、xlrd.open_workbook()を使用して、xlrd.Workbookオブジェクト、rbにaugmented.xlsを読み取ります。

  3. xlutils.copy.copy()を使用してrbをxlwt.Workbookオブジェクトwbに変換します。

  4. wbに削除対象の行の最初の列の値を "x"(またはマーカーとしての他の値)に設定します。

  5. 保存wbに戻るaugmented.xls

  6. つの列は左にすべての列が最初の列に「X」でそれらの行を省略し、シフトすることによってaugmented.xlsから得られたExcelファイルを生成する別のカスタムフィルタ処理を使用して(等価マーカーの最初の列を削除します)。

情報とフィルタ処理を定義する例がhttp://www.simplistix.co.uk/presentations/python-excel.pdf

希望何らかの形でこのヘルプに記載されています。

関連する問題