PythonによるExcelファイルの読み取りチュートリアル
このガイドは、Python開発者がMicrosoft Excelドキュメントを読み、編集するためのIronXLライブラリを利用するためのステップバイステップの手順を提供します。
IronXL は包括的なExcelファイル処理ライブラリで、以下のような複数のプログラミング言語をサポートしています。.NET以下のコンテンツを日本語に翻訳してください:Pythonプログラミング言語。 このチュートリアルでは、特にPythonスクリプトでIronXLを使用してMicrosoft Excelドキュメントを読み込み、編集することに焦点を当てます。
.NETアプリケーションでMicrosoft Excelドキュメントを読み、編集する方法については、以下を参照してください。これ.
IronXL for Python を使えば、PythonでExcelファイルを読み込んだり作成したりすることが簡単にできます。
概要
PythonでExcelファイルを読む方法
- PythonライブラリをダウンロードしてExcelファイルを読み込む
- Excelファイル(ワークブック)を読み込んで読み取る
- CSVまたはXLSX形式でExcelワークブックを作成する
- セル範囲内のセル値を編集する
- スプレッドシートデータを検証する
- エンティティフレームワークを使用してデータをエクスポートします
チュートリアル
ステップ1: PythonプロジェクトにIronXLを追加する(Python用IronXL)
IronXLライブラリをPythonプロジェクトに統合するには、広く使われているPythonパッケージ管理ツールであるpipを使って依存関係としてインストールする必要があります。 ターミナルを開き、次のコマンドを実行します:
pip install IronXL
これは指定されたバージョンのIronXLをプロジェクトにインストールし、インポートできるようにします。
次の内容にご注意ください。
2. Excel ワークブックを読み込む
WorkBookクラスはエクセルのシートを表す。 Excelファイルを開くには、Excelファイルのパスを指定して
WorkBook.Load`メソッドを使う。
# Load existing spreadsheet
workbook = WorkBook.Load("Spreadsheets\\GDP.xlsx")
各 WorkBook
は複数の WorkSheet
オブジェクトを持つことができます。 それぞれは、Excelドキュメント内の単一のExcelワークシートを表します。 特定のExcelワークシートへの参照を取得するには、WorkBook.GetWorkSheet
メソッドを使用する。
# Assuming workBook is an existing instance of WorkBook
workSheet = workBook.GetWorkSheet("GDPByCountry")
新しいExcelドキュメントの作成
新しいExcelドキュメントを作成するには、有効なファイルタイプを指定して新しい WorkBook
オブジェクトを構築します。
# Create a new WorkBook with the specified Excel file format
workBook = WorkBook(ExcelFileFormat.XLSX)
注意: 古いバージョンのMicrosoft Excelをサポートするために ExcelFileFormat.XLS
を使用してください。(95およびそれ以前).
Excelドキュメントにワークシートを追加
前に説明したように、IronXL for PythonのWorkBook
は1つ以上のWorkSheet
のコレクションを含んでいます。
新しいワークシートを作成するには、ワークシート名を指定して WorkBook.CreateWorkSheet
を呼び出します。
workSheet = workBook.CreateWorkSheet("GDPByCountry")
セル値へのアクセス
単一のセルを読み取りおよび編集
個々の表計算セルの値へのアクセスは、以下に示すように、その WorkSheet
から目的のセルを取り出すことによって行われる:
# Load existing spreadsheet
workbook = WorkBook.Load("test.xlsx")
worksheet = workbook.DefaultWorkSheet
# Access cell B1 in the worksheet
cell = worksheet["B1"]
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)
セルの範囲の値を読み書きする
「Range
クラスは、Cell
オブジェクトの二次元コレクションを表します。」 このコレクションは、Excelセルのリテラル範囲を指します。 WorkSheet
オブジェクトの文字列インデクサーを使用して範囲を取得します。
引数のテキストは、セルの座標です。(例えば、「A1」、前に示したように)左から右へ、上から下へのセル範囲(例: "B2:E5"). また、WorkSheet
に対して GetRange
を呼び出すことも可能です。
# Access range D2:D101 in the worksheet
range_ = workSheet["D2:D101"]
スプレッドシートに数式を追加する
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}"
サマリー
IronXLはPython用のスタンドアローンライブラリで、様々なスプレッドシートフォーマットを読み込むことができます。 必要ありませんマイクロソフトエクセルインストールされ、Interopに依存しません。