Python を使用して Excel でピボット テーブルを作成する

Excel スプレッドシートのピボット テーブルは、インタラクティブな方法でデータを要約するために使用されます。多数の請求書のデータがあり、それらの合計を顧客または製品別にグループ化するとします。そんな時に活躍するのがピボットテーブルです。この記事では、Python で Excel のピボット テーブルを処理する方法を学習します。特に、Python で Excel でピボット テーブルを作成する方法を知るようになります。さらに、プログラムで Excel ピボット テーブルのセルをフォーマットする方法を示します。

Excel でピボット テーブルを作成する Python ライブラリ - 無料ダウンロード

Aspose.Cells for Python は、Excel ファイルを作成および処理するために設計された高速ライブラリです。このライブラリを使用して、Excel スプレッドシートでピボット テーブルを作成します。

次の pip コマンドを使用して、そのパッケージを ダウンロード または PyPI からインストールできます。

pip install aspose-cells

Python の Excel でピボット テーブルを作成する

Python を使用して Excel でピボット テーブルを作成する手順は次のとおりです。

  • Workbook クラスを使用して、新しい Excel ファイルを作成するか、既存の Excel ファイルを読み込みます。
  • ワークシートにデータを入力します (オプション)。
  • Worksheet.getPivotTables() メソッドを使用して、ピボット テーブルのコレクションを PivotTableCollection オブジェクトに取得します。
  • PivotTableCollection.add(string, string, string) メソッドを使用して新しいピボット テーブルを追加し、オブジェクトでその参照を取得します。
  • 総計、フォーマットなどのオプションを設定します。
  • PivotTable.addFieldToArea(int, int) メソッドを使用してフィールドをエリアに追加します。
  • Workbook.save(string) メソッドを使用してワークブックを保存します。

次のコード サンプルは、Python で Excel にピボット テーブルを追加する方法を示しています。

import jpype
import asposecells

jpype.startJVM()
from asposecells.api import Workbook, PivotFieldType

# Workbook オブジェクトをインスタンス化する
workbook = Workbook()

# 新しいワークシートを追加してその参照を取得する
sheetIndex = workbook.getWorksheets().add()
worksheet = workbook.getWorksheets().get(sheetIndex)

# ワークシートのセルを取得する
cells = worksheet.getCells()

# セルに値を設定する
cell = cells.get("A1")
cell.setValue("Sport")
cell = cells.get("B1")
cell.setValue("Quarter")
cell = cells.get("C1")
cell.setValue("Sales")

cell = cells.get("A2")
cell.setValue("Golf")
cell = cells.get("A3")
cell.setValue("Golf")
cell = cells.get("A4")
cell.setValue("Tennis")
cell = cells.get("A5")
cell.setValue("Tennis")
cell = cells.get("A6")
cell.setValue("Tennis")
cell = cells.get("A7")
cell.setValue("Tennis")
cell = cells.get("A8")
cell.setValue("Golf")

cell = cells.get("B2")
cell.setValue("Qtr3")
cell = cells.get("B3")
cell.setValue("Qtr4")
cell = cells.get("B4")
cell.setValue("Qtr3")
cell = cells.get("B5")
cell.setValue("Qtr4")
cell = cells.get("B6")
cell.setValue("Qtr3")
cell = cells.get("B7")
cell.setValue("Qtr4")
cell = cells.get("B8")
cell.setValue("Qtr3")

cell = cells.get("C2")
cell.setValue(1500)
cell = cells.get("C3")
cell.setValue(2000)
cell = cells.get("C4")
cell.setValue(600)
cell = cells.get("C5")
cell.setValue(1500)
cell = cells.get("C6")
cell.setValue(4070)
cell = cells.get("C7")
cell.setValue(5000)
cell = cells.get("C8")
cell.setValue(6430)

# すべてのピボット テーブルを取得する
pivotTables = worksheet.getPivotTables()

# ワークシートに新しいピボット テーブルを追加する
index = pivotTables.add("=A1:C8", "E3", "PivotTable2")

# 新しく追加されたピボット テーブルのインスタンスにアクセスする
pivotTable = pivotTables.get(index)

# 行の総計を非表示にする
pivotTable.setRowGrand(False)

# 最初のフィールドを行領域にドラッグします
pivotTable.addFieldToArea(PivotFieldType.ROW, 0)

# 2 番目のフィールドを列領域にドラッグします
pivotTable.addFieldToArea(PivotFieldType.COLUMN, 1)

# 3 番目のフィールドをデータ領域にドラッグします
pivotTable.addFieldToArea(PivotFieldType.DATA, 2)

# エクセルファイルを保存する
workbook.save("CreatePivotTable.xlsx")

エクセルデータ

Excel ピボット テーブルのデータ ソース

ピボットテーブル

JavaのExcelでピボットテーブルを作成する

Python で Excel ピボット テーブルのセルを書式設定する

Python で Excel ピボット テーブルのセルをフォーマットする手順は次のとおりです。

  • Workbook クラスを使用して、新しい Excel ファイルを作成するか、既存の Excel ファイルを読み込みます。
  • ワークシートに入力します (オプション)。
  • ピボット テーブルが配置されているワークシートの参照を取得します。
  • Worksheet.getPivotTables().get(index) メソッドを使用して、インデックスでピボット テーブルの参照を取得します。
  • Workbook.createStyle() メソッドを使用して新しいスタイルを作成し、その参照を取得します。
  • Style オブジェクトの必要なプロパティを設定します。
  • Style オブジェクトをピボット テーブルに割り当てます。
  • Workbook.save(string) メソッドを使用してワークブックを保存します。

次のコード サンプルは、Python で Excel ピボット テーブルをフォーマットする方法を示しています。

import jpype
import asposecells

jpype.startJVM()
from asposecells.api import Workbook, BackgroundType, Color

# ピボット テーブルを含むソース Excel ファイルからワークブック オブジェクトを作成する
workbook = Workbook("pivotTable_test.xlsx")

# 名前でワークシートにアクセスする
worksheet = workbook.getWorksheets().get("PivotTable")

# インデックスでピボット テーブルにアクセスする
pivotTable = worksheet.getPivotTables().get(0)

# 背景色が水色のスタイル オブジェクトを作成する
style = workbook.createStyle()
style.setPattern(BackgroundType.SOLID)
style.setBackgroundColor(Color.getLightBlue())

# ピボット テーブル全体を水色で書式設定する
pivotTable.formatAll(style)

# 黄色の別のスタイル オブジェクトを作成します。
style = workbook.createStyle()
style.setPattern(BackgroundType.SOLID)
style.setBackgroundColor(Color.getYellow())

# ピボット テーブルの最初の行のセルを黄色で書式設定する
columns = [0, 1, 2, 3, 4]
for x in columns:
  pivotTable.format(1, x, style)

# ワークブック オブジェクトを保存する
workbook.save("output.xlsx")

Excel ピボット テーブルを作成するための Python ライブラリ - 無料ライセンスを取得

無料の一時ライセンスを取得して、評価制限なしで Aspose.Cells for Python を使用できます。

結論

この記事では、Python で Excel シートにピボット テーブルを作成する方法を学習しました。さらに、プログラムで Excel のピボット テーブルのセルをフォーマットする方法を見てきました。また、ドキュメント を使用して、Python Excel ライブラリについて詳しく調べることができます。ご不明な点がございましたら、フォーラム からお気軽にお問い合わせください。

関連項目