PythonでExcel(xlsx)ファイルを読み取る方法

How Read Excel File Python



NS .xlsx は、大量のデータを表形式で保存できるExcelドキュメントの拡張機能であり、さまざまな種類の算術計算や論理計算をExcelスプレッドシートで簡単に実行できます。プログラミングの目的でPythonスクリプトを使用してExcelドキュメントからデータを読み取る必要がある場合があります。 Pythonには、Excelドキュメントを読み取るための多くのモジュールが存在します。便利なモジュールのいくつかは xlrdopenpyxl 、 と パンダ 。これらのモジュールを使用してPythonでExcelファイルを読み取る方法は、このチュートリアルで示されています。

前提条件:

このチュートリアルの例を確認するには、拡張子が.xlsxのダミーのExcelファイルが必要です。既存のExcelファイルを使用することも、新しいファイルを作成することもできます。ここでは、という名前の新しいExcelファイル sales.xlsx ファイルは以下のデータで作成されています。このファイルは、このチュートリアルの次のパートでさまざまなPythonモジュールを使用して読み取るために使用されています。







sales.xlsx



販売日 営業担当者
05/12/18 シーラ・アーメド 60000
12/06/19 Me Hossain 50,000
08/09/20 サーミン・ジャハン 45000
04/07/21 マフムドゥルハサン 30000

例-1:xlrdを使用してExcelファイルを読み取る

xlrdモジュールはデフォルトではPythonとともにインストールされません。したがって、使用する前にモジュールをインストールする必要があります。このモジュールの最新バージョンは、拡張子が.xlsxのExcelファイルをサポートしていません。したがって、xlsxファイルを読み取るには、このモジュールの1.2.0バージョンをインストールする必要があります。ターミナルから次のコマンドを実行して、の必要なバージョンをインストールします。 xlrd



$ピップインストール xlrd== 1.2.0

インストールプロセスが完了したら、次のスクリプトを使用してPythonファイルを作成し、 sales.xlsx を使用してファイル xlrd モジュール。 open_workbook() 関数はスクリプトで使用され、読み取り用にxlsxファイルを開きます。このExcelファイルには1枚のシートしか含まれていません。だから、 workbook.sheet_by_index() 関数は、引数値0でスクリプトで使用されています。次に、ネストされた 'にとって' ループは、行と列の値を使用してワークシートのセル値を読み取るために使用されています。スクリプトでは、シートデータに基づいて行と列のサイズを定義するために2つのrange()関数が使用されています。 NS cell_value() 関数は、ループの各反復でシートの特定のセル値を読み取るために使用されています。出力の各フィールドは、1つのタブスペースで区切られます。





#xlrdモジュールをインポートします
xlrdをインポート

#ブックを開く
ワークブック= xlrd.open_workbook(('sales.xlsx')。

#ワークシートを開く
ワークシート= workbook.sheet_by_index((0)。

#行と列を繰り返します
にとって範囲((05)。
にとってNS範囲((03)。
#タブスペースでセル値を出力する
印刷((ワークシート.cell_value((i、j)。終わり='NS')。
印刷(('')。

出力:

上記のスクリプトを実行すると、次の出力が表示されます。



例-2:openpyxlを使用してExcelファイルを読み取る

NS openpyxl はxlsxファイルを読み取るための別のPythonモジュールであり、デフォルトではPythonとともにインストールされません。ターミナルから次のコマンドを実行して、このモジュールを使用する前にインストールしてください。

$ピップインストールopenpyxl

インストールプロセスが完了したら、次のスクリプトを使用してPythonファイルを作成し、 sales.xlsx ファイル。 xlrdモジュールと同様に、 openpyxl モジュールには load_workbook() 読み取り用にxlsxファイルを開く関数。 NS sales.xlsx fileは、この関数の引数値として使用されます。のオブジェクト wookbook.active の値を読み取るためにスクリプトで作成されました max_row そしてその max_column プロパティ。これらのプロパティは、ネストされたforループで使用され、コンテンツを読み取ります。 sales.xlsx ファイル。 range()関数はシートの行を読み取るために使用され、iter_cols()関数はシートの列を読み取るために使用されています。出力の各フィールドは、2つのタブスペースで区切られます。

#openyxlモジュールをインポートする
openpyxlをインポートする

#wookbookをロードする変数を定義する
wookbook = openpyxl.load_workbook(('sales.xlsx')。

#アクティブシートを読み取る変数を定義します。
ワークシート= wookbook.active

#ループを繰り返してセル値を読み取ります
にとって範囲((0、worksheet.max_row)。
にとって とともに ワークシート.iter_cols((1、worksheet.max_column)。
印刷((とともに[]。価値、終わり='NSNS')。
印刷(('')。

出力:

上記のスクリプトを実行すると、次の出力が表示されます。

例-3:パンダを使用してExcelファイルを読み取る

pandasモジュールは、前のモジュールのようにpythonと一緒にインストールされません。したがって、以前にインストールしたことがない場合は、インストールする必要があります。次のコマンドを実行して、 パンダ ターミナルから。

$ピップインストールパンダ

インストールプロセスが完了したら、次のスクリプトを使用してPythonファイルを作成し、 sales.xlsx ファイル。 NS read_excel() pandasの機能はxlsxファイルの読み取りに使用されます。この関数は、スクリプトで sales.xlsx ファイル。 NS DataFrame() 関数はここで、データフレーム内のxlsxファイルの内容を読み取り、名前の付いた変数に値を格納するために使用しました データ 。データの値は後で印刷されています。

#パンダをインポートする
パンダをインポートするなのでpd

#xlsxファイルをロードします
excel_data = pd.read_excel(('sales.xlsx')。
#データフレーム内のファイルの値を読み取ります
データ= pd.DataFrame((excel_data、=[「販売日」「営業担当者」'額'])。
#コンテンツを印刷する
印刷(('ファイルの内容は次のとおりです。NS'、 データ)。

出力:

上記のスクリプトを実行すると、次の出力が表示されます。このスクリプトの出力は、前の2つの例とは異なります。行番号は最初の列に出力され、行の値は0からカウントされます。日付の値は中央に配置されます。営業担当者の名前は正しく配置されています。金額は左揃えです。

結論:

Pythonユーザーは、さまざまなプログラミング目的でxlsxファイルを操作する必要があります。このチュートリアルでは、3つのPythonモジュールを使用して、xlsxファイルを読み取る3つの異なる方法を示しました。各モジュールには、xlsxファイルを読み取るためのさまざまな関数とプロパティがあります。このチュートリアルは、Pythonユーザーがこのチュートリアルを読んだ後、Pythonスクリプトを使用してxlsxファイルを簡単に読むのに役立ちます。