PythonでExcelデータを操作する際には、特定の行や列をリスト形式に抽出することがよく必要です。Excelの範囲をPythonのリストに変換することは、以下のようなタスクに非常に便利です:

  • PandasとNumPyを使ったデータ分析
  • レポートおよびETLプロセスの自動化
  • 機械学習モデルまたはAPIとの統合

この記事では、定義された Excel 範囲を Python でリストに変換する方法をステップバイステップで学びます。

Python Excel to List Converter Library

手動でExcelファイルを解析する代わりに、開発者は.NET経由でPython用のAspose.Cellsを使用することができます。これは、強力なExcelからリストへの変換ライブラリです。それは、範囲、行、および列をPythonリストに抽出することを容易にするだけでなく、数式、書式設定、グラフ、ピボットテーブルなどの高度な機能もサポートし、複雑なスプレッドシートでも正確性を保証します。

コーディングの前に、セットアップが整っていることを確認してください:

  1. Python 3.7+をインストールします。
  2. リリースから Aspose.Cells をダウンロード または pip を使用してインストールします:
pip install aspose-cells-python
  1. 以下の内容でサンプルExcelファイル(sampledata.xlsx)を作成してください:
ExcelをPythonでリストに変換する:サンプルデータファイル

サンプル Excel データファイル。

Excelの範囲をPythonリストに変換する: ステップバイステップガイド

Excelデータの範囲をAspose.Cells for Pythonを使用してPythonリストに変換するプロセスを見ていきましょう。

以下の手順に従って、Excel範囲をPythonのリストに変換します:

  1. まず、Workbookクラスを使用して既存のExcelファイルをロードします。
  2. 第二に、最初のワークシートを取得します。
  3. 次に、範囲を作成します。例えば、A1からC4まで。
  4. その後、RangeをPythonのリストに変換します。
  5. 最後に、リストを印刷します。

次のPythonスクリプトは、Excelファイルをロードし、範囲を定義し、それをPythonのリストに変換します。

from aspose.cells import Workbook

# ステップ 1: Excel ワークブックをロードします
book = cells.Workbook("sample_data.xlsx")

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

# ステップ 3: 範囲を定義する (この例では A1:C4)
sheet_cells = sheet1.cells
range_obj = sheet_cells.create_range("A1", "C4")

# ステップ 4: 範囲をネストされた Python リストに変換する
range_list = []
for row_index in range(range_obj.first_row, range_obj.first_row + range_obj.row_count):
    row = []
   for column_index in range(range_obj.first_column, range_obj.first_column + range_obj.column_count):
        curr_cell = sheet_cells.check_cell(row_index, column_index)
        row.append(curr_cell.value if curr_cell else "")
    range_list.append(row)

# ステップ 5: Python リストを印刷する
print("Python List Output:")
print(range_list)

Output

Python List Output:
[['City', 'Region', 'Store'], ['Chicago', 'Central', 3055], ['New York', 'East', 3036], ['Detroit', 'Central', 3074]]

この完全なスクリプトは、Excelからデータを抽出し、それをPythonのリストに変換する方法を示しています。その後、必要に応じてPandasやJSONに簡単に変換できます。

Python リストを Pandas データフレームに変換する

Pandasを使用すると、リストを直接DataFrameに変換できます:

import pandas as pd

# Convert to a Pandas DataFrame
df = pd.DataFrame(range_list[1:], columns=range_list[0])
print(df)

Pandas DataFrame Output:

       City   Region  Store
0   Chicago  Central   3055
1  New York     East   3036
2   Detroit  Central   3074

Python リストを JSON として保存する

データをJSONとしてエクスポートすることもできます:

import json

# Convert to JSON
json_output = json.dumps(range_list)
print(json_output)

JSON 出力:

[["City", "Region", "Store"], ["Chicago", "Central", 3055], ["New York", "East", 3036], ["Detroit", "Central", 3074]]

Excelの行をPythonのリストに変換する

時々、Excelから単一の行を抽出してリストとして保存したい場合があります。Aspose.Cellsを使用してそれを行う方法は次のとおりです:

  1. Excelワークブックをロードします。
  2. ターゲットワークシートにアクセスします。
  3. インデックスで行を選択します。
  4. 行の値をPythonリストに集めます。
# Aspose.Cells ライブラリをインポートします。
from aspose.cells import Workbook

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

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

# ステップ 3: 行インデックスを定義する (0 = 最初の行、ヘッダーを含む)
row_index = 0
cells = sheet.cells

# 選択した行の範囲オブジェクトを作成します
row_range = cells.create_range(row_index, 0, 1, sheet.cells.max_column + 1)

# ステップ 4: 行を Python リストに変換する
row_list = []
for column_index in range(row_range.first_column, row_range.first_column + row_range.column_count):
    curr_cell = cells.check_cell(row_index, column_index)  # Get each cell in the row
    row_list.append(curr_cell.value if curr_cell else "")  # Append value or empty string if cell is blank

# 抽出された行をリストとして印刷します。
print("Row to List:", row_list)

Output:

Row to List: ['City', 'Region', 'Store']

Excel カラムを Python のリストに変換する

単一の列をリストに抽出することもできます。たとえば、Region 列をリストに変換しましょう:

  1. ワークブックとワークシートを読み込んでください。
  2. インデックスで列を選択します。
  3. 列の各行を横断します。
  4. 列の値をリストに集めます。
# Aspose.Cells ライブラリをインポートする
from aspose.cells import Workbook

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

# ワークブックの最初のワークシートにアクセスします。
sheet = book.worksheets.get(0)

# ステップ 2: 列のインデックスを定義します (0 = 最初の列、すなわち、列 A)
col_index = 0
cells = sheet.cells

# 選択した列の範囲オブジェクトを作成します。
# パラメータ: (開始行, 開始列, 合計行, 合計列)
# ここでは、行0から始めて、colindexを選択し、すべての行を含め、幅は1列にします。
col_range = cells.create_range(0, col_index, sheet.cells.max_row + 1, 1)

# ステップ 3 および 4: 列を Python リストに変換する
col_list = []
for row_index in range(col_range.first_row, col_range.first_row + col_range.row_count):
    curr_cell = cells.check_cell(row_index, col_index)  # Get each cell in the column
    if curr_cell:  # Only add if the cell exists (ignore empty rows)
        col_list.append(curr_cell.value)

# 抽出した列をリストとして印刷してください。
print("Column to List:", col_list)

Output:

Column to List: ['City', 'Chicago', 'New York', 'Detroit']

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

評価制限なしで、.NETを介してPython用のAspose.Cellsを評価してください。 license page から無料の一時ライセンスをリクエストしてください。それをコードに適用して評価制限を解除します。DFからExcel、チャート、数式、大きなファイルを含むすべての機能をテストしてください。

Excel to List: 無料リソース

次のリソースを活用して、知識を深め、理解を強化し、学んだことをより効果的に適用するのに役立つ実践的な洞察を得てください。

結論

Excel データを Aspose.Cells for Python via .NET を使用して範囲、行、および列を抽出することにより、Python リストに変換する方法を示しました。一度リスト形式になると、データは Pandas、JSON、またはその他の処理タスクに使用できます。openpyxl や pandas.readexcel などのライブラリは範囲を抽出できますが、Aspose.Cells は数式、書式設定、チャート、および結合セルに対するより多くの制御を提供し、複雑な Excel 操作にはより適した選択肢となります。

もし助けが必要な場合や質問がある場合は、私たちの Aspose.Cells Free Support Forum で気軽にお問い合わせください。私たちのチームが喜んでお手伝いします。

See Also