Python でスプレッドシートを読み込む方法
このガイドでは、Workbook を使用して Python に XLSX および CSV スプレッドシートファイルをロードする方法、get_worksheet() でワークシートにアクセスする方法、そして Worksheet.cells グリッドを介してセルの値を読み取る方法を示します。ライブラリは Microsoft Office やネイティブ拡張機能を使用せず、純粋な Python で動作します。
ステップバイステップガイド
ステップ 1: パッケージをインストール
以下の pip コマンドを使用して、PyPI から Aspose.Cells の FOSS パッケージをインストールします:
pip install aspose-cells-fossWorkbook をインポートし、確認メッセージを出力してインストールを検証します:
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 に対応します。