質問

pyexcelerator / xlrdなどのpython libsを使用してピボットテーブルを使用して、ワークシート(Excelワークブック内)を作成するにはどうすればよいですか?他のシートのデータを要約するためにピボットテーブルを備えた毎日のレポートを生成する必要があります。オプションの1つは、データをコピーして入力する空白のテンプレートを使用することです。この場合、コードからピボットを更新する方法はありますか?他に提案はありますか?

役に立ちましたか?

解決

「シート」が「スプレッドシート」の略語であり、XLSファイル全体を意味するのか、それとも「ワークブック」のコンポーネントである「ワークシート」の略語であるかを意味するかどうかを明確にしてください。

「ピボットテーブル」でエクセルメカニズムを意味する場合、それはExcelによってのみ作成できるため、運が悪いです。ただし、Pythonと適切なライブラリを使用して自分自身を作成する「クロスタブ」を意味する場合は、XLRD、XLWT、Xlutilsのトリオを使用してこれを行うことができます。

xlrdあなたが知っているように見えます。

XLWTは、バグが固定され、いくつかの強化があるPyexceleratorのフォークです。 Pyexceleratorは維持されていないようです。

Xlutilsはユーティリティモジュールのパッケージです。 Xlutils.Copyを使用してXLWT BookオブジェクトからXLWTワークブックオブジェクトを作成できるため、XLWTワークブックに変更を加えてファイルに保存できます。

これがあなたです 3つのパッケージの詳細については、ワンストップショップ, 、チュートリアルとともに、ヘルプを得るために使用できるGoogle-Group/Mailing-Listにリンクします。

他のヒント

これを見てみてください: Python:ワークシートでPivottablesを更新します

ピボットテーブルを作成する方法を見つけたら、私のコードを使用してそれらを更新できます

私はあなたがプログラムでピボットテーブルを使用して追加できるとは思わない xlwt.

しかし、あなたの2番目のアプローチ(事前に構成されたワークブックを住む)が合理的であるように思われます。

テンプレートワークブックでVBAマクロを使用してピボットテーブルを更新できます。これを自動的に行うには、aを作成します WorkBook_Open イベントハンドラー。

ピボットテーブルを更新するVBAコードは次のとおりです。

Sheet1.PivotTables(1).PivotCache.Refresh
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top