Python でスプレッドシートを読み込む方法

Python でスプレッドシートを読み込む方法

このガイドでは、Workbook を使用して Python に XLSX および CSV スプレッドシートファイルをロードする方法、get_worksheet() でワークシートにアクセスする方法、そして Worksheet.cells グリッドを介してセルの値を読み取る方法を示します。ライブラリは Microsoft Office やネイティブ拡張機能を使用せず、純粋な Python で動作します。

ステップバイステップガイド

ステップ 1: パッケージをインストール

以下の pip コマンドを使用して、PyPI から Aspose.Cells の FOSS パッケージをインストールします:

pip install aspose-cells-foss

Workbook をインポートし、確認メッセージを出力してインストールを検証します:

from aspose.cells_foss import Workbook
print("aspose-cells-foss is ready.")

ステップ 2: 必要なクラスをインポート

スプレッドシートの読み込み API にアクセスするために、aspose.cells_foss から Workbook クラスをインポートします:

from aspose.cells_foss import Workbook

ステップ 3: ファイルからワークブックをロード

既存のスプレッドシートをロードするために、ファイルパス文字列を Workbook() に渡します。コンストラクタは、保護されたファイル用のオプションの password 引数を受け付けます:

from aspose.cells_foss import Workbook

wb = Workbook("report.xlsx")
print("Loaded:", wb.file_path)

ステップ 4: ワークシートにアクセス

整数インデックス(0ベース)またはシート名文字列で get_worksheet() を使用します。ワークブックに含まれるシート数を確認するには、worksheets プロパティを使用してください:

from aspose.cells_foss import Workbook

wb = Workbook("report.xlsx")

# By index
ws = wb.get_worksheet(0)

# By name
ws_named = wb.get_worksheet("Summary")

print(f"Worksheets: {len(wb.worksheets)}")
print(f"First sheet: {ws.name}")

ステップ 5: セルの値を読み取る

Worksheet.cells プロパティを介してセルにアクセスします。Cells.cell(row, col) を使用して、ゼロベースの行と列座標で Cell を取得します。データは Cell.value プロパティで読み取ります。空白セルを安全にスキップするには、Cell.is_empty() を使用してください:

from aspose.cells_foss import Workbook

wb = Workbook("report.xlsx")
ws = wb.get_worksheet(0)
cells = ws.cells

# Read individual cells
product = cells.cell(0, 0).value   # row 0, col 0 (A1)
revenue = cells.cell(0, 1).value   # row 0, col 1 (B1)

print(f"Product: {product}")
print(f"Revenue: {revenue}")

# Safe read with empty check
cell = cells.cell(1, 0)
if not cell.is_empty():
    print(f"A2: {cell.value}")

ステップ 6: すべての行を反復処理

次元を知らなくてもすべての行を走査するには Cells.iter_rows() を使用します。values_only=True を渡すと、Cell オブジェクトではなくプレーンな Python 値を取得できます:

from aspose.cells_foss import Workbook

wb = Workbook("report.xlsx")
ws = wb.get_worksheet(0)

for row in ws.cells.iter_rows(0, None, 0, None, values_only=True):
    print(row)

一般的な問題と対策

FileNotFoundError 読み込み時に パスが正しく、ファイルが存在することを確認してください。使用 pathlib.Path ポータブルパス用: Workbook(str(Path("data") / "report.xlsx")).

Cell.value returns None セルが空または範囲外です。使用 Cell.is_empty() 読み込む前にチェック value. 範囲外の座標はエラーを発生させず — 空のセルを返します。

パスワードで保護されたファイルはエラーを発生させます パスワードを第2引数として渡してください: Workbook("protected.xlsx", "secret").

CSV を読み込むとき、最初のシートだけがロードされます CSV ファイルは単一のシートを含みます。使用してください Workbook.load_csv(file_path) 既存の Workbook インスタンス。CSV データを特定のシート位置にインポートする必要がある場合、読み込みを通すのではなく Workbook() コンストラクタを直接使用します。

シート名が見つかりません: get_worksheet(name) シート名は大文字小文字を区別します。Print ws.name 各インデックスについて wb.worksheets 呼び出す前に正確な名前を確認するために get_worksheet("Name").

よくある質問

Linux と macOS でも動作しますか?

はい。aspose-cells-fossは純粋なPythonで、Windows、macOS、Linux、Docker コンテナ上で、ネイティブ拡張やシステム依存なしに実行されます。

どのファイル形式を読み込めますか?

Workbook() コンストラクタは XLSX ファイルをサポートします。CSV ファイルは .csv パスを渡すか、Workbook インスタンスで Workbook.load_csv(file_path) を呼び出すことで読み込めます。

データがある最終行はどうやって見つけますか?

Cells.iter_rows()でイテレートし、行内のすべての値がNoneになった時に停止するか、境界セルでCell.is_empty()を使用してデータの終了位置を検出します。

事前に形式を知らなくてもブックを開くことはできますか?

ファイルパスを Workbook(file_path) に渡します。ライブラリはファイル拡張子とヘッダーから形式を推測します。拡張子が欠落しているか曖昧な場合は、明示的な保存/読み込み形式オプションを使用してください。

“B3” のような文字アドレスでセルを読むにはどうすればよいですか?

行と列はゼロベースの整数を使用します:B3 は行 2、列 1 です。単一文字列の列には ord(col_letter) - ord("A") を使って文字アドレスを変換します。例えば、B は ord("B") - ord("A") == 1 であり、cells.cell(2, 1) は B3 に対応します。

参照

 日本語