How to Read Excel Files in Python with IronXL

This article was translated from English: Does it need improvement?
Translated
View the article in English

This guide provides Python developers with step-by-step instructions on utilizing the IronXL library to read and edit Microsoft Excel documents.

IronXL is a comprehensive Excel file processing library that supports multiple programming languages, including .NET and Python. This tutorial focuses specifically on using IronXL in Python scripts to read and edit Microsoft Excel documents.

For a separate tutorial on how to read and edit Microsoft Excel documents in .NET applications, please refer to the following here.

Reading and creating Excel files in Python is easy using the IronXL for Python software library.


Overview

How to Read Excel File in Python

  1. Download the Python Library to read Excel files
  2. Load and read an Excel file (workbook)
  3. Create an Excel workbook in CSV or XLSX
  4. Edit cell values in a range of cells
  5. Validate spreadsheet data
  6. Export data using Entity Framework

Tutorial

Step 1: Add IronXL as a Dependency in Your Python Project

To integrate the IronXL library into your Python project, you must install it as a dependency using the widely used Python package manager, pip. Open the terminal and execute the following command:

pip install IronXL

This will install the specified version of IronXL in your project, making it accessible for import.

ご注意IronXL for Python relies on the IronXL for .NET library. Therefore, it is necessary to have the .NET 6.0 SDK installed on your machine in order to use IronXL for Python.


Step 2: Load an Excel Workbook

The WorkBook class represents an Excel workbook. To open an Excel file, we use the WorkBook.Load method, specifying the path of the Excel file.

:path=/static-assets/excel-python/content-code-examples/tutorials/how-to-read-excel-file-csharp-1.py
# Load existing spreadsheet
workbook = WorkBook.Load("Spreadsheets\\GDP.xlsx")
PYTHON

Each WorkBook can have multiple WorkSheet objects. Each one represents a single Excel worksheet in the Excel document. Use the WorkBook.get_worksheet method to retrieve a reference to a specific Excel worksheet.

:path=/static-assets/excel-python/content-code-examples/tutorials/how-to-read-excel-file-csharp-2.py
# Assuming workBook is an existing instance of WorkBook
workSheet = workBook.GetWorkSheet("GDPByCountry")
PYTHON

Creating new Excel Documents

To create a new Excel document, construct a new WorkBook object with a valid file type.

:path=/static-assets/excel-python/content-code-examples/tutorials/how-to-read-excel-file-csharp-3.py
# Create a new WorkBook with the specified Excel file format
workBook = WorkBook(ExcelFileFormat.XLSX)
PYTHON

Note: Use ExcelFileFormat.XLS to support legacy versions of Microsoft Excel (95 and earlier).

Add a Worksheet to an Excel Document

As explained previously, an IronXL for Python WorkBook contains a collection of one or more WorkSheets.

This is how one workbook with two worksheets looks in Excel.

This is how one workbook with two worksheets looks in Excel.

To create a new worksheet, call workbook.create_worksheet with the name of the worksheet.

:path=/static-assets/excel-python/content-code-examples/tutorials/how-to-read-excel-file-csharp-4.py
workSheet = workBook.CreateWorkSheet("GDPByCountry")
PYTHON

Access Cell Values

Read and Edit a Single Cell

Access to the values of individual spreadsheet cells is carried out by retrieving the desired cell from its WorkSheet as shown below:

:path=/static-assets/excel-python/content-code-examples/tutorials/how-to-read-excel-file-csharp-5.py
# Load existing spreadsheet
workbook = WorkBook.Load("test.xlsx")
worksheet = workbook.DefaultWorkSheet

# Access cell B1 in the worksheet
cell = worksheet["B1"]
PYTHON

IronXL for Python's Cell class represents an individual cell in an Excel spreadsheet. It contains properties and methods that enable users to access and modify the cell's value directly.

With a reference to a Cell object, we can read and write data to and from a spreadsheet cell.

Read and Write a Range of Cell Values

The Range class represents a two-dimensional collection of Cell objects. This collection refers to a literal range of Excel cells. Obtain ranges by using the string indexer on a WorkSheet object.

:path=/static-assets/excel-python/content-code-examples/tutorials/how-to-read-excel-file-csharp-6.py
# Access cell B1 in the worksheet
cell = workSheet["B1"]

# Read the value of the cell as a string
value = cell.StringValue
print(value)

# Write a new value to the cell
cell.Value = "10.3289"
print(cell.StringValue)
PYTHON

Add Formula to a Spreadsheet

Set the formula of Cells with the formula property.

:path=/static-assets/excel-python/content-code-examples/tutorials/how-to-read-excel-file-csharp-7.py
# Access range D2:D101 in the worksheet
range_ = workSheet["D2:D101"]
PYTHON

The code below iterates through each cell and sets a percentage total in column C.

:path=/static-assets/excel-python/content-code-examples/tutorials/how-to-read-excel-file-csharp-8.py
# Iterate through all rows with a value
for y in range(2, i):
    # Get the C cell
    cell = workSheet[f"C{y}"]
    # Set the formula for the Percentage of Total column
    cell.Formula = f"=B{y}/B{i}"
PYTHON

Summary

IronXL.Excel is a standalone Python library for reading a wide variety of spreadsheet formats. It does not require Microsoft Excel to be installed and is not dependent on Interop.

よくある質問

PythonでExcelファイルをどうやって読みますか?

IronXLを使用してPythonでExcelファイルを読み取るには、WorkBook.Loadメソッドを使用してワークブックを読み込みます。Excelファイルのパスを指定するだけで、例:workbook = ironxl.WorkBook.load('path/to/workbook.xlsx')

ExcelをインストールせずにPythonでExcelファイルを編集できますか?

はい、IronXLを使用すれば、Microsoft ExcelをインストールすることなくPythonでExcelファイルを編集できます。セルの値を変更したり、ワークシートを追加したり、ライブラリを通じて直接数式を適用できます。

Python用のIronXLライブラリをどうやってインストールできますか?

Python用のIronXLをインストールするには、pipパッケージマネージャーを使用し、ターミナルでpip install ironxlコマンドを実行します。

PythonでのExcelファイル操作にIronXLを使用するメリットは何ですか?

IronXLを使用すると、Microsoft Excelを必要とせずにExcelファイルを操作できます。読み取り、編集、新しいワークブックの作成、数式の適用などの機能が提供され、スプレッドシート操作の堅牢なソリューションとなります。

IronXLを使用してExcelシートで特定のセルにアクセスして変更するにはどうすればよいですか?

IronXLを使用してExcelシートで特定のセルにアクセスするには、セルインデックスを使用します。例:cell = worksheet['A1']cell.valueを使用して値を読み取り、cell.value = 'New Value'で新しい値を代入して修正できます。

IronXLでセル範囲を操作することは可能ですか?

はい、IronXLを使用するとRangeクラスを使用してセル範囲を操作できます。文字列インデクサを使用してセル範囲にアクセスし、例:range_of_cells = worksheet['B2:E5']。これらに対する操作を行うことができます。

PythonでIronXLを使用してExcelセルに数式を追加するにはどうすればよいですか?

IronXLを使用してExcelセルに数式を追加するには、formulaプロパティを使用してセルに数式を設定します。例えば、cell.formula = '=A1+B1'によりセルA1とB1の値を加算できます。

IronXLはMicrosoft Office Interopを必要としますか?

いいえ、IronXLはMicrosoft Office Interopを必要としません。それはMicrosoft Excelとは独立して動作し、追加の依存関係なしでExcelファイルを処理できます。

Curtis Chau
テクニカルライター

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

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

準備はいいですか?
バージョン: 2025.9 ただ今リリースされました