2

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

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

どんな提案でも大歓迎です。

4

3 に答える 3

2

私は同じ問題を抱えていましたが、散歩を見つけました:

  1. カスタム フィルター プロセス (Reader>Filter1>Filter2>...>Writer) を使用して、ソース Excel ファイルのコピーを生成しますが、先頭に空白の列が挿入されます。このファイルをaugmented.xlsとしましょう。

  2. 次に、rbxlrd.open_workbook() を使用して、augmented.xls を xlrd.Workbook オブジェクトに読み込みます。

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

  4. で、削除する各行の 1 列目の値を "x" (またはその他の値をマーカーとして) に設定しwbます。

  5. Augmented.xlsに保存wbします。

  6. 別のカスタム フィルター プロセスを使用して、最初の列に "x" がある行を省略し、すべての列を 1 列左にシフトする (マーカーの最初の列を削除するのと同じ) ことにより、 augmented.xlsから結果の Excel ファイルを生成します。

フィルター プロセスの定義に関する情報と例は、http://www.simplistix.co.uk/presentations/python-excel.pdfにあります。

これが何らかの形で役立つことを願っています。

于 2014-09-04T17:35:11.133 に答える
2

xlwt は、モジュール名が示すように、Excel ライター (変更ではなく作成) 機能を提供します。一方、xlrd は Excel リーダー機能を提供します。

ソースの Excel ファイルがかなり単純な場合 (手の込んだグラフやピボット テーブルなどがない場合)、次のように進める必要があります。

xlrd モジュールを使用して、対象の Excel ファイルの内容を読み取り、次に xlwt モジュールを使用して、必要な行を含む新しい Excel ファイルを作成します。

ただし、これを Windows プラットフォームで実行している場合は、Microsoft COM オブジェクトを介して Excel を直接操作できる可能性があります。古い本のリファレンスを参照してください

于 2012-04-26T19:07:12.597 に答える