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

Python を使用して Excel にエクスポートする方法

Python の柔軟性には、人気のスプレッドシート プログラムである Excel とのスムーズな統合も含まれます。 開発者には、幅広いオープンソース ツールを使用して Python を効果的に使用し、データを Excel (XLSX ファイル) にエクスポートするための選択肢がいくつか提供されます。 この投稿では、Excel ターゲット ファイルへの C# データ エクスポートの Python ライブラリの代替としての IronXL の優れたパフォーマンスを検証します。

Pythonを使ってExcelにデータをエクスポートする方法

Python を使用してデータを Excel にエクスポートするには、次の手順に従います。

  1. 必要なライブラリをインポートします。
  2. データを準備または取得します。
  3. データをエクスポートするための Workbook または DataFrame オブジェクトを作成します。
  4. オブジェクトにデータを入力します。
  5. 適切な方法を使用してオブジェクトを Excel ファイルに保存します。
  6. 必要に応じて、ファイルを閉じるか、追加の操作を実行します。

パンダ

Pandas は、データ分析と欠損データの表現を処理するための強力な Python パッケージです。 数多くの機能の 1 つは、Excel へのデータのエクスポートのサポートです。 Pandas はto_excel()関数を使用して DataFrame を Excel ファイルにエクスポートする簡単な方法を提供します。 開発者は、シート名、インデックスの包含、オプションの列ラベル、書式設定の選択などのエクスポート設定を変更できます。 Pandas は、他のデータ処理機能との相互作用により、構造化データを Excel にエクスポートするための推奨オプションです。

Pythonを使ってExcelにデータをエクスポートする方法:図1 - Pandas

オープンPyXL

OpenPyXLと呼ばれるパッケージは、Excel ファイルを Python コードで使用するために特別に作成されました。 OpenPyXL は Pandas よりも低いレベルで動作するため、開発者は Excel ドキュメントの形式とコンテンツをより正確に制御できます。 ユーザーは、OpenPyXL を使用してプログラムで複数のシートを生成し、Excel ファイルを編集およびエクスポートできます。 数式、グラフ、書式設定機能を動的に挿入するなど、高度な Excel 操作を必要とするアクティビティには、このパッケージが最適です。 OpenPyXL は Pandas よりも学習曲線が急ですが、Excel エクスポート操作に対して比類のない汎用性を提供します。

Pythonを使ってExcelにデータをエクスポートする方法:図2 - OpenPyXL

Xlsxライター

XlsxWriterと呼ばれる Python ライブラリは、メモリの節約とパフォーマンスを重視した Excel ファイルを作成するために使用されます。 このライブラリでは大規模なデータセットを簡単に処理でき、複雑な Excel ドキュメントを迅速に生成できます。 XlsxWriter では、セルの結合、グラフの生成、ワークシートの書式設定など、多くの機能がサポートされています。 XlsxWriter は、最適化されたアーキテクチャを備えているため、バッチ処理ジョブやデータ集約型アプリケーションなど、高速な Excel エクスポートが必要な状況に最適なオプションです。

Pythonを使ってExcelにデータをエクスポートする方法:図3 - XlsxWriter

xlrd と xlwt

兄弟ライブラリxlrdxlwt を使用すると、それぞれ Python で Excel ファイルの読み取りと書き込みが可能になります。 これらのライブラリは、主な目的が古い Excel ファイル形式 (.xls など) を処理することであるとしても、状況によっては依然として役立ちます。 xlrd と xlwt は、古い Excel ファイル形式やレガシー システムを扱う必要がある開発者にとって非常に役立ちます。 ただし、機能とパフォーマンスが向上しているため、最近の Excel 形式 (.xlsx) には通常、Pandas、OpenPyXL、または XlsxWriter が推奨されます。

Pythonを使ってExcelにデータをエクスポートする方法:図4 - xlrd

タブライブラリ

Tablibと呼ばれる柔軟なライブラリは、Excel を含むさまざまな形式の表形式データを処理できます。 Tablib は、データを Excel ファイルにエクスポートするための機能豊富なツールです。 ただし、Pandas や OpenPyXL ほど機能が豊富ではありません。 さまざまな形式でデータを簡単にエクスポートする必要がある開発者にとって、Tablib は Excel、CSV、JSON などの複数の出力形式をサポートする便利なソリューションを提供します。 Tablib は、軽量設計とユーザーフレンドリーなインターフェースを備えているため、小規模な Excel エクスポート ジョブや、複数形式のデータ エクスポート機能を必要とするプロジェクトに適しています。

Pythonを使ってExcelにデータをエクスポートする方法: 図5 - Tablib

IronXL

Excel ファイルを簡単に管理することは、データ処理やレポート作成など、多くの C# プログラミング アプリケーションにとって不可欠です。 強力なオプションの 1 つとしてIronXLが挙げられます。これは、Excel ファイルを簡単に操作するための広範なツールキットを開発者に提供します。 この投稿では、IronXL の機能について説明し、Excel 自動化タスクに関して Python ライブラリの強力な代替手段となる可能性があることを紹介します。

  • IronXL は、.NET Core および .NET Framework 用の有名な C# Excel スプレッドシート ライブラリです。
  • IronXL は、Web アプリケーション、Windows フォーム アプリケーション、コンソールなど、ほぼすべての .NET Framework をサポートしています。
  • Windows、Linux、macOS は、IronXL と互換性のあるオペレーティング システムのほんの一部です。
  • IronXL を使用すると、Excel ファイルの読み取りが迅速かつ簡単になります。
  • XLSX ファイル、XLS ファイル、CSV、TSV、XLST、XLSM など、さまざまな Excel ファイル タイプを IronXL で読み取ることができます。 さらに、データセットを編集、エクスポート、インポートすることもできます。
  • IronXL を使用すると、XLS、カンマ区切り値ファイル、TSV、JSON など、他の多くのサフィックスを持つファイルをエクスポートして保存できます。
  • IronXL は Excel で計算を実行し、Excel シートのセルをフォーマットできます。
  • テキスト、整数、数式、日付、通貨、パーセンテージなど、多くの Excel 列データ型が IronXL でサポートされています。

IronXL の詳細については、ここを参照してください。

IronXLのインストール

コマンドラインを使用して、次の手順に従って IronXL をインストールします。

2.1.2 Visual Studioコマンドラインの使用

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

pip install IronXL

パッケージは、アクティブなプロジェクトにダウンロードされインストールされるとすぐに使用できるようになります。

Excelファイルにエクスポート

IronXLを使用すると、データテーブルをCSVファイルに作成するのが簡単かつ迅速です。 新しい CSV ファイルへのデータの書き込みを容易にします。

まず、コード内でクラスとメソッドを利用するために必要な IronXL 名前空間を含める必要があります。

以下は、IronXL を使用して DataTable を Excel ファイルにエクスポートするためのサンプル コードです。

using IronXL;
using IronXL.Formatting;
using System.Data;

public class ExcelExporter
{
    public static void Main(string[] args)
    {
        ExportToExcel("H:\\test.xls");
    }

    public static void ExportToExcel(string filePath)
    {
        // Create a DataTable and define columns
        DataTable table = new DataTable();
        table.Columns.Add("DataSet_Fruits", typeof(string));

        // Adding rows to the DataTable
        table.Rows.Add("Apple");
        table.Rows.Add("Orange");
        table.Rows.Add("Strawberry");
        table.Rows.Add("Grapes");
        table.Rows.Add("Watermelon");
        table.Rows.Add("Bananas");
        table.Rows.Add("Lemons");

        // Create a workbook and set the format to XLS
        WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLS);
        var worksheet = workbook.CreateWorkSheet("Sheet1");

        // Add the DataTable data to the worksheet
        int rowCount = 0;
        foreach (DataRow row in table.Rows)
        {
            worksheet["A" + (rowCount + 1)].Value = row[0].ToString();
            rowCount++;
        }

        // Save the workbook to the specified file path
        workbook.SaveAs(filePath);
    }
}
using IronXL;
using IronXL.Formatting;
using System.Data;

public class ExcelExporter
{
    public static void Main(string[] args)
    {
        ExportToExcel("H:\\test.xls");
    }

    public static void ExportToExcel(string filePath)
    {
        // Create a DataTable and define columns
        DataTable table = new DataTable();
        table.Columns.Add("DataSet_Fruits", typeof(string));

        // Adding rows to the DataTable
        table.Rows.Add("Apple");
        table.Rows.Add("Orange");
        table.Rows.Add("Strawberry");
        table.Rows.Add("Grapes");
        table.Rows.Add("Watermelon");
        table.Rows.Add("Bananas");
        table.Rows.Add("Lemons");

        // Create a workbook and set the format to XLS
        WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLS);
        var worksheet = workbook.CreateWorkSheet("Sheet1");

        // Add the DataTable data to the worksheet
        int rowCount = 0;
        foreach (DataRow row in table.Rows)
        {
            worksheet["A" + (rowCount + 1)].Value = row[0].ToString();
            rowCount++;
        }

        // Save the workbook to the specified file path
        workbook.SaveAs(filePath);
    }
}
Imports IronXL
Imports IronXL.Formatting
Imports System.Data

Public Class ExcelExporter
	Public Shared Sub Main(ByVal args() As String)
		ExportToExcel("H:\test.xls")
	End Sub

	Public Shared Sub ExportToExcel(ByVal filePath As String)
		' Create a DataTable and define columns
		Dim table As New DataTable()
		table.Columns.Add("DataSet_Fruits", GetType(String))

		' Adding rows to the DataTable
		table.Rows.Add("Apple")
		table.Rows.Add("Orange")
		table.Rows.Add("Strawberry")
		table.Rows.Add("Grapes")
		table.Rows.Add("Watermelon")
		table.Rows.Add("Bananas")
		table.Rows.Add("Lemons")

		' Create a workbook and set the format to XLS
		Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLS)
		Dim worksheet = workbook.CreateWorkSheet("Sheet1")

		' Add the DataTable data to the worksheet
		Dim rowCount As Integer = 0
		For Each row As DataRow In table.Rows
			worksheet("A" & (rowCount + 1)).Value = row(0).ToString()
			rowCount += 1
		Next row

		' Save the workbook to the specified file path
		workbook.SaveAs(filePath)
	End Sub
End Class
$vbLabelText   $csharpLabel

上記のコードサンプルでは、DataTableをExcelファイルにエクスポートしています。DataTableは初期化され、果物のリストを表すデータが入力されています。 WorkBook.Create()メソッドを使用して新しい Excel ワークブックを作成し、ループを使用して DataTable のデータをワークブックに追加します。最後に、 SaveAs()メソッドを使用して、指定されたファイルパスにワークブックを保存します。

! Pythonを使用してExcelにデータをエクスポートする方法:図7 - ワークシート出力

上記は実行されたコードサンプルの出力です。 データテーブルからのすべての情報が、それぞれ新しく作られたExcelシートに追加されています。

IronXL コード例の詳細については、ここをクリックしてください。

結論

Python のオープンソース Excel エクスポート モジュールを使用すると、開発者は複雑な Excel レポートの作成、重要な情報の処理、従来の Excel 形式とのインターフェイスなど、幅広いタスクを効果的かつ効率的に実行できます。 開発者は、これらのパッケージの機能とベスト プラクティスを活用することで、Python ベースのアプリケーションの生産性を向上させ、Excel エクスポート ワークフローを最適化できます。

IronXL は、C# 開発者にとって Excel データ エクスポートの強力な代替手段であり、完全な Excel 互換性、優れたパフォーマンス、.NET フレームワークとのスムーズな統合を提供します。 IronXL は、ユーザーフレンドリーな API と Excel ドキュメントのきめ細かな制御により、C# で Excel ドキュメントをエクスポートするプロセスを簡素化します。 これにより、開発者は動的な Excel レポートやデータの視覚化などを作成できます。 C# 開発者は、デスクトップ アプリ、オンライン アプリ、モバイル アプリのいずれを作成するかに関係なく、IronXL を使用して Excel 関連のプロセスを簡素化し、C# プログラム内で Excel の完全な機能を有効にすることができます。

起動時に、IronXLは$799で利用可能です。 アップデートや製品サポートを受けるために、ユーザーは 1 年間の会員費を支払うこともできます。 IronXLは、無制限の再配布のためのセキュリティを追加料金で提供します。 さらに詳しい概算費用情報を確認するには、ここをクリックしてください。 Iron Software の詳細については、こちらをご覧ください。

よくある質問

Pythonを使用してデータをExcelにエクスポートするにはどうすればよいですか?

Pandas、OpenPyXL、またはXlsxWriterなどのライブラリを活用することで、Pythonを使用してデータをExcelにエクスポートできます。これらのライブラリは、データを作成、操作、保存するための関数を提供しています。たとえば、Pandasはto_excel()メソッドを提供して、DataFrameを直接Excelファイルにエクスポートします。

PythonでExcelの自動化にIronXLを使用するメリットは何ですか?

IronXLは主にC#用に設計されていますが、Pythonで使用する際にはExcelの自動化の強力なオプションとなります。さまざまなオペレーティングシステムに対応しており、複数のExcelファイルタイプをサポートし、ユーザーフレンドリーなAPIでデータエクスポートプロセスを簡略化し、動的なExcelレポートやビジュアライゼーションを作成するのに理想的です。

大規模データセットをExcelにエクスポートするために使用するPythonライブラリはどれですか?

大規模データセットをExcelにエクスポートする場合、メモリ効率とパフォーマンスの観点からXlsxWriterが推奨されます。これは、大規模データセットを効果的に処理でき、セルの結合やグラフ生成などの機能を備えた複雑なExcelドキュメントを迅速に生成します。

Pythonを使用して古いExcel形式にデータをエクスポートできますか?

はい、xlrdやxlwtなどのライブラリを使用して古いExcel形式の.xlsにデータをエクスポートできます。これらのライブラリはレガシーシステムで役立ちますが、最新のExcel形式にはPandas、OpenPyXL、またはXlsxWriterのような現代的なライブラリが好まれます。

Excelファイル操作におけるOpenPyXLの役割は何ですか?

OpenPyXLはExcelドキュメントのフォーマットとコンテンツ操作に関する詳細なコントロールを提供します。プログラム的にExcelファイルを作成および編集する機能を備え、複数のシート、数式、グラフを含むことができるため、PythonでExcelファイルを操作するための多才な選択肢です。

TablibはどのようにしてデータをExcelにエクスポートするのをサポートしますか?

TablibはExcelを含むさまざまな形式での表形式データを扱うための柔軟なライブラリです。PandasやOpenPyXLほど機能が豊富ではないものの、複数のフォーマットでデータをエクスポートするための簡単なソリューションを提供し、小規模なExcelエクスポートタスクに適しています。

データをExcelにエクスポートする際のPandasの利点は何ですか?

PandasはPythonにおける強力なデータ分析ライブラリで、データをExcelにエクスポートするプロセスを簡略化します。to_excel()関数を使用して、開発者は簡単にDataFrameをExcelファイルにエクスポートでき、シート名のカスタマイズ、インデックスの含めるまたは除外、および様々なフォーマットオプションを適用することができます。

PythonでExcelファイルを管理するためにライブラリをインストールするにはどうすればよいですか?

PythonでExcelファイルを管理するためにライブラリをインストールするには、pipパッケージマネージャーを使用できます。たとえば、Pandasをインストールするには、ターミナルまたはコマンドプロンプトでpip install pandasコマンドを実行します。

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

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

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