Pythonのxlrdモジュールを使ってExcelのファイルを読み込む方法

スポンサーリンク

プログラミング言語を使ってMS-Excelのファイルを扱うにはどうしたらいいのだろう、と考えたことはありませんか?この記事では、Pythonプログラミング言語のxlrdモジュールを使って、Excelファイルを処理する方法を学習していきます。

それでは、始めましょう。

MS-Excel入門

Microsoft Excelは、多くの産業で重要な機能を担っているため、最も重要なコンピュータアプリケーションの1つです。

企業の業務、教室での課題、個人的なデータ管理まで、最も広く使われている表計算アプリケーションです。

pip install xlrd

Excelは1985年に発表されました。

それ以来、数式を使った計算や、数学的な計算が必要な作業において重要な役割を担ってきました。

Excelは、その使いやすさと多くのアプリケーションの視覚的な基礎としての能力から、多くの組織、個人および組織的な企業で使用されています。

スポンサーリンク

xlrd モジュールの紹介

xlrdモジュールは、表計算ソフトからデータを取得するために使用されることがあります。

例えば、Pythonを使ってデータの読み書きをしたり、データを変更したりすることができます

また、複数のシートを巡回し、何らかの条件に基づいてデータを抽出したり、行や列を編集したり、多大な労力を必要とする場合もあります。

スプレッドシートからデータを抽出するには、xlrd モジュールを使用します。

xlrdモジュールを実装する前に、あなたのシステムのCMDで以下に述べるコマンドラインを使用して、モジュールがプログラムにインポートされていることを確認する必要があります。

1
2
3
4
# Importing Module
import xlrd
# Loading Excel file
wb = xlrd.open_workbook('Financial Sample.xlsx')

Python で xlrd モジュールを使う

私たちはxlrdモジュールを使って、いくつかのことを次々と行っていくことになります。

その前に、使用するデータセットについて見ておきましょう。

適当なデータセットを使ってもいいし、自分でカスタムデータセットを作ってもいい。

私はランダムな金融データセットをダウンロードしました。

1
2
# Storing the first sheet into a variable
sheet = wb.sheet_by_index(0)

1. プログラムへのExcelファイルのロード

まず、xlrd モジュールをインポートし、xlrd モジュールの open_workbook 関数を使用して、関数内に記述されたパスのワークブックをロードします。

1
2
3
# Printing various cell values
print("Value of 0-0 cell: ",sheet.cell_value(0, 0))
print("Value of 20-4 cell: ",sheet.cell_value(20, 4))

2. Excelファイルの読み込み

ここでは、1つのExcelファイル内に複数のワークブックが存在する可能性がありますが、最初のワークブックで作業を行いたいので、sheet_by_index関数を使用して、作業したいシートのインデックスを渡します。

Value of 0-0 cell:  Segment
Value of 20-4 cell:  1006.0

セルの値を印刷する

あるワークブックを読み込んだ後、cell_value関数を使用して特定のセルの値を表示したいと思います。

1
2
3
# Get max no of rows and columns
print("Number of Rows: ", sheet.nrows)
print("Number of Columns: ",sheet.ncols)

実行後の出力は次のようになります。

Number of Rows:  701
Number of Columns:  16

行数、列数の印字について

エクセルファイルの行と列の数を表示するには、「nrows」「ncols」関数を使用します。

1
2
3
4
# Get all column names
print("ALL COLUMN NAMES ARE: ")
for i in range(sheet.ncols):
    print(sheet.cell_value(0,i))

実行後の出力は次のようになります。

ALL COLUMN NAMES ARE:
Segment
Country
Product
Discount Band
Units Sold
Manufacturing Price
Sale Price
Gross Sales
Discounts
 Sales
COGS
Profit
Date
Month Number
Month Name
Year

全カラムの名前を印刷する

これは、以下のコードで実現できます。

最初の行の各列のセルの値を表示すればよいのです。

1
2
3
4
5
# Get first 10 rows for 5 columns
for i in range(11):
    for j in range(5):
        print(sheet.cell_value(i,j), end=" ")
    print()

実行後の出力は以下のようになる。

Segment         Country         Product         Discount Band           Units Sold         
Government          Canada          Carretera           None            1618.5         
Government          Germany         Carretera           None            1321.0         
Midmarket           France          Carretera           None            2178.0         
Midmarket           Germany         Carretera           None            888.0          
Midmarket           Mexico          Carretera           None            2470.0         
Government          Germany         Carretera           None            1513.0         
Midmarket           Germany         Montana         None            921.0          
Channel Partners            Canada          Montana         None            2518.0         
Government          France          Montana         None            1899.0         
Channel Partners            Germany         Montana         None            1545.0 

5列の最初の10行を印刷する

これは、後述のコードで実現できます。

複数の行と列を印刷したい場合は、以下のようにします。

MSExcel Logo

出力は以下のようになります。

Financial Data Xlrd Module

まとめ

あなたは、xlrdモジュールを使ってExcelファイルを読み込み、読み取る方法を学びました。

このチュートリアルは気に入りましたか?いずれにせよ、以下のチュートリアルをご覧になることをお勧めします。

  1. Pythonを使用してExcelシートからデータをプロットする
  2. Pandasを使ってテキストファイルを読む – A Brief Reference

お時間を割いていただきありがとうございました。

タイトルとURLをコピーしました