python-excel モジュールを使用していくつかのテストを行っています。これらのモジュールを使用してExcelシートの行を削除する方法が見つからないようで、インターネットは解決策を提供していません. python-excel モジュールの 1 つを使用して行を削除する方法はありますか?
私の場合、Excel シートを開き、最初の行を読み取り、有効なデータが含まれているかどうかを判断し、含まれていない場合は削除します。
どんな提案でも大歓迎です。
私は同じ問題を抱えていましたが、散歩を見つけました:
カスタム フィルター プロセス (Reader>Filter1>Filter2>...>Writer) を使用して、ソース Excel ファイルのコピーを生成しますが、先頭に空白の列が挿入されます。このファイルをaugmented.xlsとしましょう。
次に、rb
xlrd.open_workbook() を使用して、augmented.xls を xlrd.Workbook オブジェクトに読み込みます。
xlutils.copy.copy() を使用rb
して xlwt.Workbook オブジェクトに変換しますwb
。
で、削除する各行の 1 列目の値を "x" (またはその他の値をマーカーとして) に設定しwb
ます。
Augmented.xlsに保存wb
します。
別のカスタム フィルター プロセスを使用して、最初の列に "x" がある行を省略し、すべての列を 1 列左にシフトする (マーカーの最初の列を削除するのと同じ) ことにより、 augmented.xlsから結果の Excel ファイルを生成します。
フィルター プロセスの定義に関する情報と例は、http://www.simplistix.co.uk/presentations/python-excel.pdfにあります。
これが何らかの形で役立つことを願っています。
xlwt は、モジュール名が示すように、Excel ライター (変更ではなく作成) 機能を提供します。一方、xlrd は Excel リーダー機能を提供します。
ソースの Excel ファイルがかなり単純な場合 (手の込んだグラフやピボット テーブルなどがない場合)、次のように進める必要があります。
xlrd モジュールを使用して、対象の Excel ファイルの内容を読み取り、次に xlwt モジュールを使用して、必要な行を含む新しい Excel ファイルを作成します。
ただし、これを Windows プラットフォームで実行している場合は、Microsoft COM オブジェクトを介して Excel を直接操作できる可能性があります。古い本のリファレンスを参照してください。