フッターコンテンツにスキップ
IRONXL FOR PYTHON の使用方法

Python で Excel ファイルを読む方法

Excel ファイルの操作は、データ分析や自動化タスクにおいて一般的な要件です。 Python は、豊富なライブラリを備えており、XLSX ファイルと対話するためのさまざまな方法を提供します。 このチュートリアルでは、Python Excel ライブラリであるIronXLを使用して Excel ファイルを読み取る方法を学習します。

IronXL: Python Excel ライブラリ

IronXL for Python は、開発者が Python で Excel ファイルを簡単に読み書きできるように設計されています。 Excel ファイルを書き込むだけでなく、複数の Excel シートを一度に操作することもできます。 このライブラリは、マシンに Microsoft Excel をインストールせずに Excel ファイルを書き込むのに最適です。

データを Excel スプレッドシートに直接インポートする必要がある場合は、IronXL が役立ちます。 IronXL を使用すると、Excel スプレッドシートの処理が簡単になります。 XLSX ファイル内の複数のシートにわたるデータを簡単に管理するのに役立ちます。

IronXL を使用してPython で Excel ファイルを読み取る方法を見てみましょう。

PythonでExcelファイルを読む方法

次の手順では、Python で Excel ファイルを読み取るプロセスについて説明します。

  1. Visual Studio コードで Python ファイルを作成します。
  2. pip を使用して Python Excel ライブラリをインストールします。
  3. 読み込む Excel ファイル
  4. ループを使用してExcelデータを反復処理する
  5. コンソールに反復データを表示する

前提条件

チュートリアルに進む前に、システムに次の前提条件がインストールされていることを確認してください。

  • .NET 6.0 SDK : IronXL は .NET 上に構築されているため、システムに .NET 6.0 SDK がインストールされている必要があります。
  • Python 3.0+ : このチュートリアルでは、Python 3.0 以上がインストールされていることを前提としています。
  • pip : IronXL のインストールに使用するため、Python のパッケージ インストーラーである pip がインストールされていることを確認します。

環境のセットアップ

1. Visual Studio Codeでファイルを作成する

Visual Studio Code を開き、 ReadExcel.pyという名前の新しい Python ファイルを作成します。 このファイルには、IronXL を使用して Excel ファイルを読み取るためのスクリプトが含まれます。

PythonでExcelファイルを読む方法:図1

2. IronXLのインストール

メニューからTerminal > New Terminalを選択して、Visual Studio Code 内でコマンド ラインを開きます。

! PythonでExcelファイルを読む方法: 図2

次のコマンドを実行して IronXL をインストールします。

pip install ironxl
pip install ironxl
SHELL

! PythonでExcelファイルを読む方法: 図3

コードを書く

それでは、コードをセクションに分割し、各部分について説明しましょう。

ライブラリのインポート

from ironxl import *
import sys
from ironxl import *
import sys
PYTHON

ここでは、Excel ファイルを操作する機能を提供するironxlライブラリからすべてをインポートします。 sys は、IronXL が正しく機能するために必要な Python がインストールされているパスを設定するために使用されます。

Pythonインストールパスの設定

sys.prefix = r'C:\Users\User Name\AppData\Local\Programs\Python\Python312'
sys.prefix = r'C:\Users\User Name\AppData\Local\Programs\Python\Python312'
PYTHON

sys.prefixには、Python インストール ディレクトリへのパスが割り当てられます。 この準備手順はすべての環境で必要なわけではありませんが、パス関連の問題を防ぐために一部の構成では不可欠です。

ライセンスキーの設定

License.LicenseKey = "License-Key"
License.LicenseKey = "License-Key"
PYTHON

IronXL ライブラリのすべての機能のロックを解除するには、有効なライセンス キーが必要です。 このコード行License.LicenseKey = "License-Key"は、取得したライセンス キーを挿入する場所です。 有効なライセンスがないと、IronXL は動作しません。

ワークブックの読み込み

workbook = WorkBook.Load("data.xlsx")
workbook = WorkBook.Load("data.xlsx")
PYTHON

スクリプトのこのセクション、 workbook = WorkBook.Load("data.xlsx")は、Excel ブックを読み込む方法を示しています。 WorkBook.Loadは、ファイル パスで指定された既存の Excel ファイルを開くために IronXL によって提供されるメソッドです。

この例では、 "data.xlsx"を使用します。このファイルはスクリプトと同じディレクトリにあると想定しています。 ファイルが他の場所にある場合は、完全なファイル パスを指定する必要があります。

ワークシートの選択

worksheet = workbook.WorkSheets[0]
worksheet = workbook.WorkSheets[0]
PYTHON

ワークブックを読み込んだ後、次のステップはワークシートを選択することです。 workbook.WorkSheets[0]行は、Excel ファイルの最初のワークシートにアクセスします。ワークシートは 0 から始まるインデックスが付けられているため、このコードスニペットは実質的に最初のシートを選択します。

データの読み取りと表示

print("Sample data from A2:A5:")
for cell in worksheet["A2:A5"]:
    print("Cell {} has value '{}'".format(cell.AddressString, cell.Text))
print("Sample data from A2:A5:")
for cell in worksheet["A2:A5"]:
    print("Cell {} has value '{}'".format(cell.AddressString, cell.Text))
PYTHON

スクリプトのこの部分では、特定のセルからデータを読み取って表示する方法の例を示します。 ワークシート["A2:A5"]内のセルの範囲を反復処理することで、各セルのアドレスとテキスト値にアクセスします。 シート内の定義済み領域から情報を取得できます。

計算を実行する

IronXL は、Excel シート内のデータ範囲に対して直接簡単な計算を実行する関数を提供します。 次のコードのセクションでは、指定された範囲内のデータに対して合計、最小値、最大値などの簡単な計算を実行する方法を示します。

total_sum = worksheet["B2:B10"].Sum()
print("Total Sum of B2:B10: ", total_sum)

minimum_value = worksheet["C2:C10"].Min()
print("Minimum Value in C2:C10: ", minimum_value)

maximum_value = worksheet["D2:D10"].Max()
print("Maximum Value in D2:D10: ", maximum_value)
total_sum = worksheet["B2:B10"].Sum()
print("Total Sum of B2:B10: ", total_sum)

minimum_value = worksheet["C2:C10"].Min()
print("Minimum Value in C2:C10: ", minimum_value)

maximum_value = worksheet["D2:D10"].Max()
print("Maximum Value in D2:D10: ", maximum_value)
PYTHON

一意の値を見つける

スクリプトのこの部分では、Excel シートの指定された範囲内で一意の値を識別する方法を示します。

unique_values = set(cell.Text for cell in worksheet["F2:F10"])
print("Unique Values in F2:F10: ", unique_values)
unique_values = set(cell.Text for cell in worksheet["F2:F10"])
print("Unique Values in F2:F10: ", unique_values)
PYTHON

これを実現するために、セット理解が活用されます。 Python の Sets は重複するエントリを自動的に削除するコレクションであり、一意の値を見つけるのに最適です。 この理解は、範囲F2:F10内の各セルを反復処理し、 cell.Textを使用して各セルのテキスト コンテンツにアクセスします。

この反復をセット内に配置することで、一意の値のみが保持されるようになります。

特定の値の出現回数を数える

最後に、このスニペットは、特定の値が指定された範囲内で何回出現するかをカウントします。

specific_value = '5'  # Adjust this as needed based on your data
occurrences = sum(cell.Text == specific_value for cell in worksheet["G2:G10"])
print(f"Occurrences of value '{specific_value}' in G2:G10: ", occurrences)
specific_value = '5'  # Adjust this as needed based on your data
occurrences = sum(cell.Text == specific_value for cell in worksheet["G2:G10"])
print(f"Occurrences of value '{specific_value}' in G2:G10: ", occurrences)
PYTHON

ここでの目標は、特定の値 (ここではspecific_valueとラベル付けされています) の発生を定量化することです。 このコードでは、範囲G2:G10内の各セルを反復処理し、セルのテキスト コンテンツをspecific_valueと比較するジェネレータ式を使用しています。

cell.Text == specific_value は、対象値を含む各セルに対してTrue 、そうでない場合はFalseと評価されます。sum関数はこれらのブール値を合計し、 Trueを1、 Falseを0として扱い、特定の値の出現回数をカウントします。

完全なコード例

コードをより良く理解するための完全なコードを以下に示します。

from ironxl import *
import sys

# Setting Python installation path
sys.prefix = r'C:\Users\User Name\AppData\Local\Programs\Python\Python312'

# Setting the license key for IronXL
License.LicenseKey = "License-Key"

# Load the workbook
workbook = WorkBook.Load("data.xlsx")

# Select the worksheet at index 0
worksheet = workbook.WorkSheets[0]

# Display values in a specific range as an example
print("Sample data from A2:A5:")
for cell in worksheet["A2:A5"]:
    print("Cell {} has value '{}'".format(cell.AddressString, cell.Text))

# Calculate the sum of values in a different range
total_sum = worksheet["B2:B10"].Sum()
print("Total Sum of B2:B10: ", total_sum)

# Calculate the minimum value in another range
minimum_value = worksheet["C2:C10"].Min()
print("Minimum Value in C2:C10: ", minimum_value)

# Calculate the maximum value in a different range
maximum_value = worksheet["D2:D10"].Max()
print("Maximum Value in D2:D10: ", maximum_value)

# Find unique values in a specified range
unique_values = set(cell.Text for cell in worksheet["F2:F10"])
print("Unique Values in F2:F10: ", unique_values)

# Count occurrences of a specific value in a different range
specific_value = '5'  # Adjust this as needed based on your data
occurrences = sum(cell.Text == specific_value for cell in worksheet["G2:G10"])
print(f"Occurrences of value '{specific_value}' in G2:G10: ", occurrences)
from ironxl import *
import sys

# Setting Python installation path
sys.prefix = r'C:\Users\User Name\AppData\Local\Programs\Python\Python312'

# Setting the license key for IronXL
License.LicenseKey = "License-Key"

# Load the workbook
workbook = WorkBook.Load("data.xlsx")

# Select the worksheet at index 0
worksheet = workbook.WorkSheets[0]

# Display values in a specific range as an example
print("Sample data from A2:A5:")
for cell in worksheet["A2:A5"]:
    print("Cell {} has value '{}'".format(cell.AddressString, cell.Text))

# Calculate the sum of values in a different range
total_sum = worksheet["B2:B10"].Sum()
print("Total Sum of B2:B10: ", total_sum)

# Calculate the minimum value in another range
minimum_value = worksheet["C2:C10"].Min()
print("Minimum Value in C2:C10: ", minimum_value)

# Calculate the maximum value in a different range
maximum_value = worksheet["D2:D10"].Max()
print("Maximum Value in D2:D10: ", maximum_value)

# Find unique values in a specified range
unique_values = set(cell.Text for cell in worksheet["F2:F10"])
print("Unique Values in F2:F10: ", unique_values)

# Count occurrences of a specific value in a different range
specific_value = '5'  # Adjust this as needed based on your data
occurrences = sum(cell.Text == specific_value for cell in worksheet["G2:G10"])
print(f"Occurrences of value '{specific_value}' in G2:G10: ", occurrences)
PYTHON

出力

ReadExcel.py Python ファイルを実行すると、コンソールに次の出力が表示されます。これは、スクリプトによって Excel データに対して実行された操作の結果を反映しています。

! PythonでExcelファイルを読む方法: 図4

結論

このチュートリアルでは、IronXL を使用して Excel ファイルを読み取るための Python 環境を設定する方法について説明しました。 必要なソフトウェアのインストール、Excel ブックの読み込み、ワークシートの選択、データの読み取り、基本的なデータ分析操作の実行などを行うスクリプトの作成について説明しました。

IronXL は、Python で Excel ファイルを操作するための強力な API を提供し、Microsoft Excel を必要とせずにデータ分析、データクリーニング、視覚化のタスクを可能にします。

販売データの分析、レポート用のデータのインポート、Excel データからの視覚化の作成など、IronXL は Python アプリケーションで Excel ファイルを管理するための強力なソリューションを提供します。

IronXL は、ユーザーが機能を試すための無料トライアルを提供しており、その機能を完全に統合する準備ができているユーザー向けには、ライセンスは$799から始まります。

よくある質問

Microsoft ExcelなしでPythonでExcelファイルを読むにはどうすればいいですか?

IronXLを使用すると、システムにMicrosoft ExcelがなくてもPythonでExcelファイルを読むことができます。WorkBook.Load("data.xlsx")を使用してワークブックを読み込み、ワークシートやセルデータに直接アクセスできます。

PythonでExcelファイルを読むためにIronXLを使用するにはどのようなセットアップが必要ですか?

IronXLを使用するには、.NET 6.0 SDK、Python 3.0以上、およびpipをインストールしてください。Visual Studio Codeでコーディング環境をセットアップし、Excelファイルを扱う作業を開始します。

PythonでIronXLをどのようにインストールしますか?

pip install ironxlコマンドをターミナルで実行してIronXLをインストールしてください。これにより、Excelファイルを読み取り、操作するためのライブラリがインストールされます。

IronXLを使用してExcelファイル上でデータ分析操作を行えますか?

はい、IronXLは、合計の算出、最小値と最大値の検索、Excelシート内の一意の値の特定など、さまざまなデータ分析操作をサポートします。

IronXLを使用してExcelの範囲内で一意の値を見つけるにはどうすればいいですか?

一意の値を見つけるには、セルの範囲を反復処理し、特定のテキスト値を抽出するためのセット内包表記を使用します。この方法は、すべての一意のエントリを効果的に特定します。

IronXLを使用してExcel内の特定の値を数えることは可能ですか?

はい、セル範囲をジェネレータ式で反復処理し、セルテキストがターゲット値に一致する場合にインスタンスを合算することで特定の値の出現回数を数えることができます。

PythonでのExcel操作にIronXLを使用する利点は何ですか?

IronXLは、Microsoft Excelを必要とせずにExcelファイル操作を行うための強力なAPIを提供します。データ分析、クリーニング、可視化など、Pythonプロジェクトでの生産性を高めるのに理想的です。

IronXLを使用してExcelファイルを読むためのPythonスクリプトをどのように書けば良いですか?

ReadExcel.pyという名前のPythonスクリプトを作成し、必要なライブラリをインポートし、Pythonパスを設定して、IronXLのメソッドを使用してExcelワークブックやデータとやり取りします。

IronXLを使用してExcelデータ上でどのような操作を行うことができますか?

IronXLを使用すると、セル値の読み取り、ワークシートの選択、合計の計算、最小/最大値の検索、特定の出現回数のカウントなど、さまざまな操作を行うことができます。

カーティス・チャウ
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。