2017-06-06 11 views
3

Excelシートを操作するソフトウェアを作成しています。これまではxlrdとxlwtを使っていましたが、すべてうまくいきます。XlsxWriterブックを複数回保存する

  • それは(シート(xlrd)を開き、新しいブック(xlwt)
  • それは、データを読み取るために新しく作成されたブックを開きます(xlrd)にコピーを選択した列を、いくつかの数学を行い、データをフォーマットしますどのファイルを一度保存​​されていない場合)に行うことができませんでした - (xlwtは再びセーブ)

しかし、私は今、私の文書にグラフを追加して喜んで、この機能はxlwtによってサポートされていません。私はxlsxwriterがそうであることを発見しましたが、これは私のコードに他の複雑な問題を追加します:xlsxwriterはxlsxwriter.close()しか保存せず、文書を閉じます。

これに対応する方法があるかどうかは知っていますか? xlsxwriter.close()を使用するたびに、私が書いている文書を含むワークブックオブジェクトはもはや使用できません。

+2

xlsxwriterを使用して既存のExcelファイルを変更することはできません。実行可能な場合はpandas.read_excelを使用して既存のExcelファイルを読み込み、xlsxwriterを使用してそこから移動することができます。代わりに、openpyxlはおそらく、既存のExcelファイルを読み込んでそれを変更するためのより良いオプションになるでしょう。あなたはopenpyxlでもグラフを作ることができます([link](http://openpyxl.readthedocs.io/en/default/charts/introduction.html))。 – patrickjlong1

答えて

3

基本的に、2度読み、2度保存する必要はありません。 の現在の(チャートはありません)プロセスでは、xlrdを使用して必要なデータを読み取るだけで済みます。次にすべて処理してください。 を一度とxlwtと書いてください。

このワークフローに従って、xlwtをXlsxWriterに置き換えるのは比較的簡単です。

関連する問題