PythonでのXLSXからCSVへ

Pythondenoxlsxkaracsvhe



近年、Python は主要なプログラミング言語の 1 つとして台頭しています。 Python コミュニティは、Python の人気と有用性の結果として大幅に拡大しました。この記事では、Python を使用して XLSX を CSV に変換する方法について詳しく説明します。 Excel ファイルは、財務分析の実行、データの整理、データ入力、会計、データ管理、チャートやグラフの作成などに頻繁に使用されることを認識しています。ただし、データのインポートとエクスポートには CSV ファイルを使用することがほとんどです。 1 つのアプローチは、プレーン テキスト ファイルを使用して構造化データを転送することです。

Xslx ファイルとは

最新バージョンの Excel でスプレッドシートを作成する場合、Microsoft はデフォルトのファイル タイプとして XLSX ファイルを使用します。 Word の DOCX ファイル タイプと同様に、さまざまなアプリケーション/プログラムを使用して XLSX ファイルを開くことができます。

CSV ファイルとは

CSV ファイル形式は、表形式のデータ値をスプレッドシートやデータベースに保存するために使用できるものです。表形式のデータ (テキストまたはテキスト) は、プレーン テキストとして CSV ファイルに保存されます。 CSV ファイルのレコードは、ファイルの各行に格納されたデータ値です。各レコードには、コンマで区切られた複数のフィールドを含めることができます。







XLSX ファイルと CSV ファイルの主な違い

ユーザーは、CSV と XLSX を同じ意味で使用することがよくありますが、一般に、それらの違い、基本的な特性、およびそれらがどのように機能するかを認識していません。ユーザーの情報源としてのみ機能します。ほぼすべてのビジネスおよび企業が、ユーザーのデータを管理、更新、および保存する際にユーザーを支援するために両方を使用しています。知っておくべき XLSX ファイルと CSV ファイルの主な違いを次に示します。



  • CSV 形式では、表形式のデータが .csv 拡張子の区切りテキスト ファイルに保存されます。一方、Excel または XLSX ファイルは、ファイルを独自の形式で保存するスプレッドシートです。 xls または XLSX.
  • Excel ファイルは、ブック内のすべてのワークシートのデータを含むバイナリ ファイルです。一方、CSV は、コンマで区切られた一連のデータ値を持つプレーンで単純なテキスト形式です。
  • CSVファイルはデータ操作できません。ただし、Excel ファイルで実行することはできます。
  • CSV ファイルは、XLSX ファイルよりも高速で、使用するメモリも少なくて済みます。ただし、データをインポートするとき、Excel はより多くのメモリを使用します。
  • CSV と Excel を比較すると、CSV ファイルは Windows のテキスト エディターで開くことができますが、Excel ファイルでは開くことができません。

Python を使用して XLSX ファイルを CSV に変換するにはどうすればよいですか?

XLSX ファイルは、さまざまな方法を使用して Python で CSV ファイルに変換できます。 Python には、このタスクを達成するのに役立つさまざまなモジュールと関数が含まれています。ここでは、Python で XLSX ファイルを CSV ファイルに変換するために使用できるいくつかの方法について説明します。



Excel から CSV への変換を実行するための前提条件

要件をインストールすることが最初のステップです。このチュートリアルでは、Pandas、CSV、Openpyxl などを組み合わせたモジュールを使用します。 Python の Pandas パッケージは、データの操作と分析を可能にします。 Pandas は、Python プログラマーの間で有名なライブラリです。 Excel ファイルは、Openpyxl として知られる Python パッケージを使用して読み書きできます。このライブラリを直接扱うことはしません。代わりに、パンダは Openpyxl を内部的に利用します。





PyPI リポジトリを使用して、両方のパッケージをインストールできます。

方法 1: Pandas モジュールを使用して XLSX を CSV に変換する

例 1: 1 つの XLSX ファイルを CSV に変換する



Pandas は、データを操作および分析するために Python プログラミング言語用に作成されたオープンソース モジュールです。時系列と数値テーブルを操作するために、Pandas はさまざまな機能と機能を提供します。 pandas を使用すると、小さなデータセットと大きなデータセットの両方を読み取り、フィルター処理し、再配置できます。結果は、Excel、JSON、CSV などのさまざまな形式で生成できます。 Pandas の read_excel() メソッドを使用して Excel ファイルを読み取り、to_csv() メソッドを使用して DataFrame を CSV ファイルに変換します。

出力に見られるように、.csv ファイルを DataFrame として出力します。前のスクリプトは、XLSX ファイルを CSV に変換し、現在のディレクトリに「salary.csv」ファイルを作成します。

例 2: XLSX ファイル (複数のシートを含む) を CSV に変換する

次の例では、最初に Excel ファイルのシート名を読み取ります。次に、個々のシートの名前がループされ、個別の CSV ファイルとして保存されます。スクリプトは CSV を同じ場所に保存します。

2 つ以上のワークシートまたはスプレッドシートを含むサンプル XLSX ファイルを使用します。

ご覧のとおり、XLSX ファイルは 2 つのシート (シート 1 とシート 2) で構成されています。次に、この XLSX ファイルを CSV に変換するコードを記述します。

出力:

スクリプトは、2 つのシートを含む XLSX ファイルを、1 つのシートを含む単一の CSV ファイルに正常に変換しました。

例 3: 複数の XLSX ファイルを個別の CSV ファイルに変換する

作業ディレクトリ内の複数の Excel ファイルを CSV に変換する必要があるシナリオを考えてみましょう。この方法を採用することができます。各ファイルには 1 つのシートのみが含まれていると仮定することから始めます。次に、メソッドを拡張して、複数のファイルと複数のシートを処理します。以下の Python コードは、glob 標準モジュールを利用しています。 Glob のパターンを使用してファイル パスを照合します。作業ディレクトリ内の拡張子が .xlsx のすべてのファイルに一致します。その後、Excelファイルを読み込んでCSVファイルとして保存する機能を開発します。見つかった各ファイル パスでこの関数を呼び出します。

この前のスクリプトは、現在のディレクトリ内のすべての xlsx ファイルを CSV ファイルに変換します。

次に、複数のスプレッドシートを含む XLSX ファイルを CSV に変換します。これはおそらく難しい部分です。 3 つの Excel ファイルが作業ディレクトリにあります。また、複数のシートで構成されているものもあります。私たちは次のことを目指しています:

  1. スプレッドシート ファイルごとにディレクトリを作成し、
  2. Excel ファイル シートを CSV に変換すると、新しく作成されたディレクトリに保存されます。

このスクリプトは、1 つまたは複数のシートを含む XLSX を個別の CSV ファイルに変換し、それらを同じ名前の新しいディレクトリに保存します。

現在のディレクトリにあるすべての Excel ファイルを取得するには、glob 関数が使用されます。その後、os.mkdir 関数を使用して XLSX ファイルごとにフォルダーが作成されます。次に、シート名をループすることにより、新しいディレクトリ内のシートごとに CSV ファイルが作成されます。

方法 2: Openpyxl および CSV モジュールを使用して XLSX を CSV に変換する

この方法では、openpyxl および CSV モジュールを使用して XLSX ファイルを CSV に変換します。 2010 xlsx、xlsm、xltx、および xltm ファイルを読み書きするには、Python モジュール openpyxl を使用できます。 CSV モジュールには、CSV 形式の表形式データの読み取りと書き込みを可能にするクラスが含まれています。

xlsx ファイルを読み込んだりロードしたりするには、openpyxl モジュールの load_workbook() 関数を使用します。 Python で既存の XLSX/Excel ファイルを読み書きする必要がある場合は、この関数を使用できます。 Excel のアクティベーション後、csv.writer() 関数を使用して CSV ファイルを作成します。次に、for ループを使用して、CSV ファイルのデータ セルにデータを格納します。次の図に示すように、example.xlsx ファイルを myfile.csv に変換します。

結論

このチュートリアルでは、XLSX ファイルと CSV ファイルについて簡単に紹介しました。両方のファイル形式の主な違いについて説明しました。 1 つまたは複数のシートを含む XLSX ファイルを CSV ファイルに変換する方法を説明するために、複数の例を含む 2 つの方法について説明しました。複数の XLSX ファイルを同時に CSV ファイルに変換する例を実装しました。データを Excel から CSV に変換するのは、簡単な場合もあれば難しい場合もあります。シート数が少ないファイルが 1 つしかない場合は、簡単です。しかし、そうでない場合は、難しい場合があります。