Excelファイルは、構造化データを管理するための最も人気のあるフォーマットの1つです。Pythonでは、pandasのDataFrameがそのデータを効率的に整理・分析するための基本的な構造です。ExcelデータはDataFrameに変換されると、データベース、API、または機械学習モデルとシームレスに結合され、より深い分析と洞察が得られます。この記事では、ExcelをpandasのDataFrameに変換する実用的な方法を、明確な例を交えて探ります。

What is a Pandas DataFrame?

DataFrame は、pandas ライブラリによって提供される 2D データ構造です。行と列を持つ Excel のスプレッドシートに似ています。各列は、文字列、整数、または浮動小数点数など、異なるデータ型を保持できます。

DataFrames は以下に最適です:

  • データのインポートとクレンジング。
  • 数学的操作を行う。
  • データのフィルタリング、グループ化、および集約。
  • Excel、CSV、またはデータベースに結果をエクスポートします。

ExcelファイルをDataFrameに変換すると、分析のために強力なpandas操作をすぐに適用できます。

ExcelをPandas DataFrameに変換するためのPythonライブラリ

Aspose.Cells for Python via .NET は、基本的なスプレッドシートの操作以上のニーズを持つ開発者にとって、最高のPython Excelライブラリ としてよく考慮されます。これにより、Microsoft Excelをインストールせずに、プログラムでExcelファイルを作成、読み取り、編集、および変換できます。

データフレームの変換において、このライブラリは素晴らしいです。なぜなら、数式、結合セル、グラフ、ピボットテーブル、条件付き書式などの高度なExcel機能を完全にサポートしているからです。これは、XLSXLSXXLSB、ODS、CSVおよびJSONなど、複数のフォーマットで機能します。

Aspose.Cellsを使用してExcelデータをpandasに取り込むと、高忠実度でDataFrameへのスムーズな変換が得られます。これは、Excelの構造、フォーマット、値が正確に維持されることを意味し、pandasはそのデータを効率的に分析し変換するためのツールを提供します。

Excel を Pandas DataFrame に変換する

新しいスプレッドシートを作成し、プログラムmaticallyにデータを生成し、ExcelをpandasのDataFrameに変換することができます。これにより、pandasでの即時分析の準備をしながら、ファイルの構造を完全に制御できます。

以下の手順に従って、ExcelをPandas DataFrameに変換してください。

  1. Workbook クラスのインスタンスを作成します。
  2. 最初のワークシートとそのセルにアクセスします。
  3. ワークシートのセルに値を追加します。
  4. Extract rows and headers.
  5. 抽出したデータを pandas DataFrame に変換します。

次のPythonコードの例は、Excelをpandas DataFrameに変換する方法を示しています:

import pandas as pd
from aspose.cells import Workbook

# ステップ 1: Aspose.Cells を使用して新しい Excel ワークブックを作成します
wb = Workbook()

# ステップ 2: 最初のワークシートにアクセスする
ws = wb.worksheets.get(0)

# ステップ 3: ワークシートのセルコレクションにアクセスする
c = ws.cells

# ステップ 4: ワークシートにサンプルデータを追加します
c.get("A1").value, c.get("B1").value, c.get("C1").value = "Name", "Age", "City"
c.get("A2").value, c.get("B2").value, c.get("C2").value = "Alice", 25, "New York"
c.get("A3").value, c.get("B3").value, c.get("C3").value = "Bob", 30, "San Francisco"
c.get("A4").value, c.get("B4").value, c.get("C4").value = "Charlie", 35, "Los Angeles"

# ステップ 5: 最初のデータ行からヘッダーを取得します
header_idx = c.min_data_row
columns = [cell.value for cell in c.rows[header_idx]]

# ステップ 6: 残りの行をデータとして収集する
data = [
    [cell.value for cell in row]
   for idx, row in enumerate(c.rows)
    if row and idx != header_idx
]

# ステップ 7: 一度にデータフレームを構築する
df = pd.DataFrame(data, columns=columns)
print(df)

Output

      Name  Age           City
0    Alice   25       New York
1      Bob   30  San Francisco
2  Charlie   35    Los Angeles

既存の Excel ファイルを Pandas DataFrame に変換する

既にExcelファイルを持っている場合は、それを読み込み、PythonでExcelをpandasのDataFrameに直接変換できます。これにより、データをpandasでより効率的に扱いながら、元のシート構造を保持できます。

以下の手順に従って、既存のExcelファイルをPandas DataFrameに読み込んで変換します。

  1. 既存のExcelファイルをWorkbookクラスを使用して開きます。
  2. 名前またはインデックスでワークシートを選択します。
  3. すべての行と列を読みます。
  4. Extract headers if available.
  5. 結果を pandas DataFrame に変換します。

以下のPythonコードは、既存のExcelファイルをpandas DataFrameに変換する方法を示しています:

import pandas as pd
from aspose.cells import Workbook

# ステップ 1: ファイルから Excel ワークブックをロードします
workbook = Workbook("PandasTest.xlsx")

# ステップ 2: ワークシートを選択する(インデックスまたは名前で)
worksheet = workbook.worksheets.get("Sheet1")  # or workbook.worksheets[0]

# ステップ 3: ワークシートからセルのコレクションを取得します
cells = worksheet.cells

# ステップ 4: 列の数を計算する (0 ベースのインデックスの差)
col_count = cells.max_data_column - cells.min_data_column

# ステップ 5: 行データを格納するリストを作成する
output_data = []

# ステップ 6: データを持つ最初の行のインデックスを見つける
first_data_row_index = cells.min_data_row

# ステップ 7: シート内のすべての行を繰り返します
for row in cells.rows:
    if row is None:
        continue  # Skip uninitialized rows

    # 現在の行のすべてのセルの値を収集します。
    row_data = [cell.value for cell in row]
    output_data.append(row_data)

# ステップ 8: 列ヘッダーを準備する
columns = []
if True:  # Use header row
    row = cells.rows[first_data_row_index]
   for cell in row:
        columns.append(cell.value)
    # データからヘッダー行を削除してください。
    output_data = output_data[1:]
else:
    # ヘッダーがない場合は、デフォルトの列名を割り当てます。
    columns = [f"Unnamed: {i}" for i in range(col_count + 1)]

# ステップ 9: データを pandas DataFrame に変換する
df = pd.DataFrame(output_data, columns=columns)

# ステップ 10: データフレームを印刷する
print(df)
既存のExcelファイルをPandas DataFrameに変換する

サンプルExcelファイルをPandas DataFrameに変換するためのものです。

Output

   Product A  Product B Period
0         50        160     Q1
1        100         32     Q2
2        170         50     Q3
3        300         40     Q4

ExcelをJSON経由でPandasに変換する

Excelの範囲を JsonUtility.exportrangetojson を使用してJSONにエクスポートし、その後Pandasにロードします。ステップバイステップガイドをご覧ください: Convert Excel to Pandas DataFrame via JSON

ExcelをCSV経由でPandasに変換する

ExcelファイルをCSVに変換し、次にそれをPandasにロードします。ステップバイステップのガイドに従ってください: Convert Excel to Pandas DataFrame via CSV.

無料ライセンスを取得する

Aspose.Cells for Python via .NETのすべての機能を制限なく試すことができます。無料の一時ライセンスを適用してください。 license page を訪れて、無料のライセンスを取得してください。これにより、高度なExcelからDataFrameへの変換を含む、完全なAPIを評価することができます。

追加の無料リソース

ExcelファイルをPythonで扱うためのさらなる方法を探るために、これらのリソースをご覧ください。これにより、基本的な変換を超え、実際のプロジェクトでAspose.Cellsを効果的に適用することができます。

結論

Excelファイルを pandas DataFrame に変換することは、Aspose.Cells for Python via .NET を使用することで簡単かつ信頼性の高いものになります。新しいスプレッドシートを作成する場合でも、既存のスプレッドシートをインポートする場合でも、このライブラリは高忠実度のデータ転送と完全なフォーマットサポートを保証します。pandas の柔軟性と Aspose.Cells の高度な Excel 操作を組み合わせることで、データ処理を簡素化し、Python で強力な分析を可能にすることができます。

質問がある場合は、私たちの free support forum を訪れてください。私たちのチームが喜んでお手伝いします。

See Also