前提条件:
このチュートリアルの例を確認するには、拡張子が.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)。
#行と列を繰り返します
にとって私の範囲((0、5)。:
にとってNSの範囲((0、3)。:
#タブスペースでセル値を出力する
印刷((ワークシート.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ファイルを簡単に読むのに役立ちます。