PYTHONのためのIRONXLの使用

PythonでExcelにエクスポートする方法

チャクニット・ビン
チャクニット・ビン
2024年4月3日
共有:

イントロダクション

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

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

  1. 必要なライブラリを取り込む。

  2. データを準備するか、取得してください。

  3. データをエクスポートするためのWorkbookまたはDataFrameオブジェクトを作成します。

  4. 項目にあなたの情報を記入してください。

  5. 適切な技法を使用して、オブジェクトをExcelファイルに保存します。

  6. ファイルを閉じるか、必要に応じてさらなる操作を実行してください。

パンダス

Pandasは、データ分析と欠損データの表現を扱うための強力なPythonパッケージです。 データをExcelにエクスポートする機能は、その多くの機能の一つです。 Pandasは、Excelwriterオブジェクトのファイルパスに保存された出力ファイルを使用して、to_excel()関数を利用することにより、データフレームをExcelファイルにエクスポートする簡単な方法を提供します。 また、import pandas as pdを使用して既存のファイルを読み込むことができます。 開発者は、シート名、インデックスの有無、オプションの列ラベル、書式設定の選択を含むエクスポート設定を変更することができます。 Pandasは、他のデータ処理機能との相互作用のため、構造化データをExcelにエクスポートするのに推奨されるオプションです。

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

OpenPyXL

パッケージOpenPyXL は、PythonコードでExcelファイルを使用するために明確に作成されました。 OpenPyXLはPandasよりも低レベルで動作し、開発者にExcelドキュメントの形式や内容に対するより精密な制御を可能にします。 ユーザーは、OpenPyXLを使用してプログラムによって複数のシートを生成し、編集し、Excelファイルをエクスポートすることができます。 高度なExcel操作が必要な活動には、動的に数式、グラフ、フォーマット機能を挿入する場合に、このパッケージが適しています。 OpenPyXLはPandasよりも学習曲線が高いですが、Excelのエクスポート操作において比類のない柔軟性を提供します。

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

XlsxWriter

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

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

xlrdおよびxlwt

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

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

Tablib

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

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

IronXL

多くのC#プログラミングアプリケーションにおいて、データ処理やレポート作成のためにExcelファイルを簡単に管理することが不可欠です。 強力なオプションの一つとして登場するのがIronXLであり、これにより開発者はExcelファイルを簡単に扱うための豊富なツールキットを手に入れることができます。 この投稿では、IronXL の機能を探り、Excel 自動化作業において Python ライブラリの強力な代替手段となり得ることを示します。

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

    IronXLについて詳しく知りたい場合は、こちらを参照してください。

IronXLをインストール

コマンドラインを使用して、以下の手順でIronXLをインストールします。

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

以下の構文をパッケージ マネージャー コンソール タブに入力してください。

pip install IronXL

ファイルは使用準備が整っており、現在アクティブなプロジェクトにダウンロードおよびインストールされています。

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

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

まず、以下のコードスクリーンショットに示されているようにIronXL名前空間を含める必要があります。 IronXLを導入すると、そのクラスやメソッドをコードで利用することができます。

Pythonを使用してデータをExcelにエクスポートする方法: 図6 - IronXL Namespace

ExcelファイルはIronXLを使用して作成され、その後ワークブックオブジェクトに変換することができます。 オブジェクトになった後、それらを様々な方法で操作することができます。 以下のサンプルコードは、データテーブルをExcelワークシートに変換してExcelファイルを生成します。

using IronXL;
using IronXL.Options;
using System.Data;
static void main(String [] arg)
{
    exporttoexcel("H:\\test.xls");
}
public static void exporttoexcel(string filepath)
{
    DataTable table = new DataTable();
    table.Columns.Add("DataSet_Fruits", typeof(string));
    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");
    WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
    var writer = wb.DefaultWorkSheet;
    int rowCount = 1;
    foreach (DataRow row in table.Rows)
    {
        writer ["A" + (rowCount)].Value = row [0].ToString();
        rowCount++;
    }
    wb.SaveAs(filepath);
}
PYTHON

上記のコードサンプルでは、データテーブルをExcelファイルにエクスポートしています。DataTableが確立された後、列ヘッダーが生成されます。 最初の列が確立された後、行を一つずつ追加します。DataTableオブジェクトに行と列を追加した後、Workbookオブジェクトを構築します。 ワークブックオブジェクトを使用してExcelシートにデータを追加し、その後シートを別の場所に保存することができます。 ワークシートオブジェクトを構築しています。それをワークブックオブジェクトに追加することで、ワークシートを生成できます。

値をワークシートに追加する前に、foreachループを使用してDataTableから各値を読み取ります。 SaveAs() 関数は、すべてのデータがワークシートに入力された後、それを Excel ファイルとして保存(新しい Excel ファイルを作成)するために使用されます。 また、Worksheet.Load() メソッドを使用して既存のExcelファイルを読み込むことができます。

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は$749で利用可能です。 更新および製品サポートのために、ユーザーは1年間の会員料金を支払うことも選択できます。 IronXLは、追加料金で無制限の再配布セキュリティを提供します。 こちらをクリックして、より正確な費用情報を確認してください。 こちらにアクセスしてIron Softwareについてさらに学んでください。

チャクニット・ビン
ソフトウェアエンジニア
ChaknithはIronXLとIronBarcodeで作業しています。彼はC#と.NETに深い専門知識を持ち、ソフトウェアの改善と顧客サポートを支援しています。ユーザーとの対話から得た彼の洞察は、より良い製品、文書、および全体的な体験に貢献しています。
< 以前
Visual Studio Code を使用して Python で Excel ファイルを読み込む方法