フッターコンテンツにスキップ
EXCEL ツール

Python を使用して Excel ファイルを読む方法

Microsoft Excel ファイルは、今日のデータ駆動型環境において重要なデータを保存および整理するために不可欠です。 Excel ファイルには、財務データ、売上データ、科学的研究の結果などが含まれる場合があり、さまざまなビジネスで広く使用されています。

Python には、Excel ファイルを簡単に読み取って操作できる強力なライブラリ環境があります。 この投稿では、Python を使用して Excel ファイルを読み取る方法について説明します。

本記事では、C#でExcelファイルを読み取る際に、IronXLがPythonライブラリの強力な代替手段となる理由についても解説します。IronXLの機能、使いやすさ、パフォーマンス上の利点を解説しながら、便利なコードサンプルでその実力を紹介します。

Pythonを使ってExcelファイルを読む方法

  1. 必要なライブラリを導入します。
  2. Excel ファイルを読み込むには、ライブラリ内の関数を活用します。
  3. 必要に応じて、ファイルの場所に加えて、シート名や範囲などの追加パラメータを含めます。
  4. 情報を変数に格納します。
  5. オプションの手順として、データ処理またはクレンジングを実行します。
  6. データの分析または操作に進みます。

Pandas-Excel-Reader

Pandas-Excel-Readerと呼ばれる専用ライブラリが Pandas 上に開発され、Excel ファイルの読み取り機能が向上しました。 Pandas の組み込みread_excel()関数と同様に、Excel スプレッドシートから Pandas DataFrames にデータを抽出するための高レベルのインターフェースを提供します。

一方、Pandas-Excel-Reader は、より高速なデータ読み込み、大きな Excel ファイルのサポート強化、以前の Pandas バージョンとの下位互換性などの追加機能を提供します。

大量のデータセットを扱う開発者や、通常のPandas read_excel()メソッドを使用している際に速度の問題を経験している開発者は、このパッケージが特に役立つと感じるかもしれません。

! Pythonを使ってExcelファイルを読む方法: 図1

パイエクセレレート

PyExcelerateは、メモリをほとんど使用せずに Excel ファイルをすばやく生成する小さな Python モジュールです。 PyExcelerate は主に Excel ファイルの作成に使用されますが、Excel ファイルを読み取る機能も備えています。

PyExcelerate を使用すると、開発者は既存の Excel ファイルからリストや辞書などのデータを Python データ構造にインポートできます。 PyExcelerate は効率性と速度に重点を置いているため、データ分析やレポート作成など、Excel をすばやく読み取るアクティビティに適しています。

! Pythonを使ってExcelファイルを読む方法: 図2

Pandas-Excel-Writer

Pandas の補助ライブラリであるPandas-Excel-Writer は、Excel ファイルの作成専用に作られています。 Pandas DataFrames を Excel にエクスポートすることが主な機能ですが、Pandas-Excel-Writer は既存の Excel ファイルからデータを読み取ることもできます。

開発者は、Pandas-Excel-Writer を使用して Excel ファイル内の特定のワークシートまたは範囲からデータを抽出することにより、データ抽出プロセスを柔軟に制御できます。

Pandas-Excel-Writer の Pandas とのスムーズなインターフェースにより、Excel ファイルの読み取りと書き込みが容易になり、開発者は Python アプリケーションで Excel ファイルを効率的に管理できるようになります。

XlTable

XlTableと呼ばれる軽量の Python ライブラリは、Excel テーブルの読み取りと変更の設計において、使いやすさとシンプルさに重点を置いています。 開発者は、Excel テーブルを処理するためのこの高レベル インターフェイスを使用して、データを抽出し、フィルターを適用し、テーブル データに対して基本的なアクションを実行できます。

XlTable は他のライブラリほど豊富な機能を備えていませんが、Excel テーブルを操作するための使いやすい方法を提供するため、基本的な Excel 読み取りジョブやコードのオーバーヘッドがほとんどないプロジェクトに適しています。

! Pythonを使ってExcelファイルを読む方法: 図3

Python-Excel

Excel ドキュメントの読み取り、書き込み、変更はすべて、Excel ファイルの操作に役立つ機能豊富な Python ライブラリであるPython-Excelの助けを借りて可能になります。 Python-Excel は、他のライブラリほど人気はありませんが、Excel ファイルの処理とデータ抽出のための強力な機能セットを提供します。

Python-Excel は、開発者がレポートを作成したり、Excel ファイルからデータを抽出したり、データ分析操作を実行したりするために使用できます。 Python-Excel は、強力な API と豊富なドキュメントを備え、Python で Excel ファイルを操作する完全なソリューションを求めている開発者に提供します。 それは競争力のある選択肢です。

! Pythonを使ってExcelファイルを読む方法: 図4

IronXL

IronXL は、Excel ファイルを操作するための機能豊富な C# ライブラリです。 Iron Software によって作成された IronXL は、Excel ドキュメントをプログラムで読み取り、編集、変更するための包括的な機能を提供します。

IronXL は、ユーザーフレンドリーな API と包括的なドキュメントを使用して C# での Excel のやり取りを合理化し、開発者に Excel 関連のアクティビティのスムーズなエクスペリエンスを提供します。

IronXLの特徴

-広範なExcelサポート:IronXLは多数のExcelファイルと互換性があり、xlsx、xls、csvなど、複数のExcel形式をサポートしています。IronXLは強力な解析機能を備えているため、開発者は最新のExcelスプレッドシートから古い形式まで、データを効率的に抽出できます。 -高速: IronXL は速度の最適化を重視しています。 信頼性が高く高速な Excel 対話を保証するために、効果的なアルゴリズムとメモリ管理戦略を活用します。 IronXL はメモリのオーバーヘッドを削減し、処理速度を最適化しているため、開発者は大きな Excel ファイルを簡単に処理できます。 -シンプルで使いやすい API : IronXL の API はシンプルで使いやすいため、あらゆる経験レベルの開発者に適しています。 IronXL は、Excel ファイルの読み取り、Excel ブックへのアクセス、セルからのデータの取得などの簡単な方法を提供することで、Excel ファイルの読み取りと書き込みのプロセスを簡素化し、C# 開発者の学習曲線を短縮します。 -きめ細かな制御: IronXL は、開発者に Excel ドキュメントに対するきめ細かな制御を提供し、特定の高レベルライブラリとは対照的に、セル レベルまで Excel ファイルを操作できるようにします。 個々のセル、行、列、ワークシートにアクセスできるため、開発者は特定のニーズに合わせてデータを正確に抽出し、操作できます。 -クロスプラットフォームの互換性: IronXL は、Windows、Linux、macOS など、さまざまなオペレーティング システムで動作するため、クロスプラットフォームの C# プログラミングに適しています。 複数の設定にわたって一貫した Excel 操作を実現するために、開発者はデスクトップ、オンライン、モバイル アプリケーションの作成を問わず IronXL を利用できます。

IronXLのドキュメントについてもっと知りたい場合はこちらを参照してください。

IronXLのインストール

IronXL をインストールするには、コマンド ラインと次の手順に従います。

Visual Studio で、[ツール] -> [NuGet パッケージ管理] -> [パッケージ マネージャー インターフェイス] に移動します。

パッケージ マネージャーのコンソール タブに次のコードを入力します。

pip install IronXL

ファイルがダウンロードされ、アクティブなプロジェクトにインストールされ、使用できるようになりました。

C# での IronXL: Excel データの読み取り

ここで、C# で IronXL を使用して Excel データを読み取る方法を示す便利なコード サンプルを見てみましょう。 既存の Excel ファイルを開き、ワークシート データを取得し、特定のセルから値を取得する方法について説明します。

using IronXL;
class Program
{
    static void Main(string[] args)
    {
        // Specify the path to the xlsx file
        string filePath = "SampleData.xlsx";

        // Create a new WorkBook object
        WorkBook workBook = WorkBook.Load(filePath);

        // Get the first worksheet from the Excel file
        WorkSheet workSheet = workBook.WorkSheets.First();

        // Retrieve data from specific cells
        string cellA1 = workSheet["A1"].Value.ToString();
        string cellB1 = workSheet["B1"].Value.ToString();

        // Display the retrieved data
        Console.WriteLine("Value of cell A1: " + cellA1);
        Console.WriteLine("Value of cell B1: " + cellB1);

        // Close the workbook
        workBook.Close();
    }
}
using IronXL;
class Program
{
    static void Main(string[] args)
    {
        // Specify the path to the xlsx file
        string filePath = "SampleData.xlsx";

        // Create a new WorkBook object
        WorkBook workBook = WorkBook.Load(filePath);

        // Get the first worksheet from the Excel file
        WorkSheet workSheet = workBook.WorkSheets.First();

        // Retrieve data from specific cells
        string cellA1 = workSheet["A1"].Value.ToString();
        string cellB1 = workSheet["B1"].Value.ToString();

        // Display the retrieved data
        Console.WriteLine("Value of cell A1: " + cellA1);
        Console.WriteLine("Value of cell B1: " + cellB1);

        // Close the workbook
        workBook.Close();
    }
}
Imports IronXL
Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' Specify the path to the xlsx file
		Dim filePath As String = "SampleData.xlsx"

		' Create a new WorkBook object
		Dim workBook As WorkBook = WorkBook.Load(filePath)

		' Get the first worksheet from the Excel file
		Dim workSheet As WorkSheet = workBook.WorkSheets.First()

		' Retrieve data from specific cells
		Dim cellA1 As String = workSheet("A1").Value.ToString()
		Dim cellB1 As String = workSheet("B1").Value.ToString()

		' Display the retrieved data
		Console.WriteLine("Value of cell A1: " & cellA1)
		Console.WriteLine("Value of cell B1: " & cellB1)

		' Close the workbook
		workBook.Close()
	End Sub
End Class
$vbLabelText   $csharpLabel

このコード サンプルでは、まず Excel ファイル ("SampleData.xlsx") へのパスを定義します。 次に、IronXL のLoad()関数を使用して新しいWorkBookオブジェクトを構築し、ファイルの場所を入力として指定します。

次に、Excel ファイルから最初の Excel シートが開かれ、セル参照 ("A1"や"B1"など) を使用して特定のセルにアクセスします。 最後に、 Console.WriteLine()関数を使用して、これらのセル値から取得したデータを表示します。 複数の Excel シートを読み取るためにも IronXL を使用します。

上記のコード例では、下の画像に示すような新しい Excel ブックを作成しました。

! Pythonを使ってExcelファイルを読む方法: 図5

以下に、上記のコードから生成された出力を示します。 IronXL コードの詳細については、ここを参照してください。

! Pythonを使ってExcelファイルを読む方法: 図6

結論

Python の Excel ファイルの読み取りとインポート機能により、レポート、自動化、データ分析の可能性が広がります。 Excel ファイルのデータは、Python コーダーによって簡単に抽出、変更、分析できます。

推奨されるプラクティスを遵守し、これらのライブラリの機能を活用することで、開発者は Excel ファイルの読み取りプロセスを最適化し、データに隠された重要な洞察を発見できるようになります。

一方、IronXL は、C# 開発者にとって Excel ファイルの読み取りの強力な代替手段であり、完全な Excel 互換性、優れたパフォーマンス、.NET フレームワークとのスムーズな相互作用を提供します。

IronXL は、ユーザーフレンドリーな API と Excel ドキュメントのきめ細かな制御により、C# での Excel 操作を簡素化します。 これにより、開発者は、複数のシートやファイル、あるいは単一の Excel ワークシートを扱う場合でも、アプリケーション内で Excel データを効率的に管理できるようになります。

C# 開発者は、デスクトップ アプリ、オンライン アプリ、モバイル アプリのいずれを作成するかに関係なく、IronXL を使用して Excel 関連のプロセスを簡素化し、C# プログラム内で Excel の完全な機能を有効にすることができます。

$799の場合、IronXL は起動時に利用できます。 アップデートや製品サポートを希望するユーザーは、1 年間の会員費を支払うこともできます。 追加料金で、IronXL は無制限の再配布のセキュリティを提供します。 おおよその費用の詳細については、このリンクを参照してください。

Iron Software の詳細については、このリンクをクリックしてください。

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

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

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