PythonによるExcelファイルの読み取りチュートリアル

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

このガイドは、Python開発者がMicrosoft Excelドキュメントを読み、編集するためのIronXLライブラリを利用するためのステップバイステップの手順を提供します。

IronXL は包括的なExcelファイル処理ライブラリで、以下のような複数のプログラミング言語をサポートしています。.NET以下のコンテンツを日本語に翻訳してください:Pythonプログラミング言語。 このチュートリアルでは、特にPythonスクリプトでIronXLを使用してMicrosoft Excelドキュメントを読み込み、編集することに焦点を当てます。

.NETアプリケーションでMicrosoft Excelドキュメントを読み、編集する方法については、以下を参照してください。これ.

IronXL for Python を使えば、PythonでExcelファイルを読み込んだり作成したりすることが簡単にできます。


概要


チュートリアル

ステップ1: PythonプロジェクトにIronXLを追加する(Python用IronXL)

IronXLライブラリをPythonプロジェクトに統合するには、広く使われているPythonパッケージ管理ツールであるpipを使って依存関係としてインストールする必要があります。 ターミナルを開き、次のコマンドを実行します:

pip install IronXL

これは指定されたバージョンのIronXLをプロジェクトにインストールし、インポートできるようにします。

次の内容にご注意ください。
IronXL for PythonはIronXL .NETライブラリ、特に.NET 6.0を基盤技術としています。 したがって、必要なのは.NET 6.0 SDKIronXL for Python を使用するには、あなたのマシンにインストールしてください。


2. Excel ワークブックを読み込む

WorkBookクラスはエクセルのシートを表す。 Excelファイルを開くには、Excelファイルのパスを指定してWorkBook.Load`メソッドを使う。

# Load existing spreadsheet
workbook = WorkBook.Load("Spreadsheets\\GDP.xlsx")
PYTHON

WorkBook は複数の WorkSheet オブジェクトを持つことができます。 それぞれは、Excelドキュメント内の単一のExcelワークシートを表します。 特定のExcelワークシートへの参照を取得するには、WorkBook.GetWorkSheet メソッドを使用する。

# Assuming workBook is an existing instance of WorkBook
workSheet = workBook.GetWorkSheet("GDPByCountry")
PYTHON

新しいExcelドキュメントの作成

新しいExcelドキュメントを作成するには、有効なファイルタイプを指定して新しい WorkBook オブジェクトを構築します。

# Create a new WorkBook with the specified Excel file format
workBook = WorkBook(ExcelFileFormat.XLSX)
PYTHON

注意: 古いバージョンのMicrosoft Excelをサポートするために ExcelFileFormat.XLS を使用してください。(95およびそれ以前).

Excelドキュメントにワークシートを追加

前に説明したように、IronXL for PythonのWorkBookは1つ以上のWorkSheetのコレクションを含んでいます。

これは、Excelで2つのワークシートがある1つのワークブックの見た目です。

これは、Excelで2つのワークシートがある1つのワークブックの見た目です。

新しいワークシートを作成するには、ワークシート名を指定して WorkBook.CreateWorkSheet を呼び出します。

workSheet = workBook.CreateWorkSheet("GDPByCountry")
PYTHON

セル値へのアクセス

単一のセルを読み取りおよび編集

個々の表計算セルの値へのアクセスは、以下に示すように、その WorkSheetから目的のセルを取り出すことによって行われる:

# Load existing spreadsheet
workbook = WorkBook.Load("test.xlsx")
worksheet = workbook.DefaultWorkSheet

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

IronXL (Python 用のIronXL) の Cell クラスは Excel スプレッドシート内のセルを表します。 それには、ユーザーがセルの値に直接アクセスし、修正することを可能にするプロパティとメソッドが含まれています。

WorkSheet オブジェクトは、Excel ワークシート内のすべてのセルの値に対応する Cell オブジェクトのインデックスを管理します。 上記のソースコードでは、行と列のインデックスで目的のセルを参照します。(この場合、セルB1)標準の配列インデックス構文を使用して。

セルオブジェクトへの参照を使うと、スプレッドシートのセルにデータを読み書きすることができます。

# 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

セルの範囲の値を読み書きする

Range クラスは、Cell オブジェクトの二次元コレクションを表します。」 このコレクションは、Excelセルのリテラル範囲を指します。 WorkSheetオブジェクトの文字列インデクサーを使用して範囲を取得します。

引数のテキストは、セルの座標です。(例えば、「A1」、前に示したように)左から右へ、上から下へのセル範囲(例: "B2:E5"). また、WorkSheet に対して GetRange を呼び出すことも可能です。

# Access range D2:D101 in the worksheet
range_ = workSheet["D2:D101"]
PYTHON

スプレッドシートに数式を追加する

Formula`プロパティでセルに数式を設定する。

以下のコードは各州を繰り返し処理し、列Cにパーセンテージの合計を入力します。

# 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

サマリー

IronXLはPython用のスタンドアローンライブラリで、様々なスプレッドシートフォーマットを読み込むことができます。 必要ありませんマイクロソフトエクセルインストールされ、Interopに依存しません。