Python入門から応用までの学習サイト


Excel読み込み (xlrd)

パッケージ「xlrd」は下記リンクよりダウンロードしてください。 インストール設定は全てデフォルトで構いません。


http://pypi.python.org/pypi/xlrd



まずはExcelブックの開いてみましょう。 Excelであればどのようなファイルでも構いませんが、サンプルコードで使用しているファイルは下記リンクよりダウンロード出来ます。


test_book.xls


# -*- coding: utf-8 -*- 

import xlrd

book = xlrd.open_workbook('test_book.xls')

「xlrd」モジュールをインポート後、「open_workbook」を使用してブックを開きます。 引数にはファイル名を指定しましょう。


ブック内のシート数と全シート名を出力してみましょう。

# -*- coding: utf-8 -*- 

import xlrd

book = xlrd.open_workbook('test_book.xls')
print '--------------------------------'
print book.nsheets

print '--------------------------------'
for name in book.sheet_names():
    print name

--実行結果--

--------------------------------
3
--------------------------------
テストシート1
テストシート2
テストシート3

7行目の「nsheets」でシート数を取得出来ます。10行目「sheet_names」はブック内の全シート名の取得が可能です。


ブック内のインデックスで特定のシートを取得する場合は「sheet_by_index」、シート名で取得する場合は「sheet_by_name」を使用します。

# -*- coding: utf-8 -*- 

import xlrd

book = xlrd.open_workbook('test_book.xls')

print book.sheet_by_index(0).name
print book.sheet_by_name(u'テストシート3').name

--実行結果--

テストシート1
テストシート3

ブック内から取得したシート名を出力しています。


特定のシート内に存在する列数と行数を取得します。

# -*- coding: utf-8 -*- 

import xlrd

book = xlrd.open_workbook('test_book.xls')

sheet_1 = book.sheet_by_index(0)
print sheet_1.ncols
print sheet_1.nrows

--実行結果--

3
10

「ncols」で列数、「nrows」で行数を取得出来ます。


シート内のセル値を取得するには、「cell」の引数に行と列を渡します。

# -*- coding: utf-8 -*- 

import xlrd

book = xlrd.open_workbook('test_book.xls')

sheet_1 = book.sheet_by_index(0)
for col in range(sheet_1.ncols):
    print '----------------------------'
    for row in range(sheet_1.nrows):
        print sheet_1.cell(row, col).value

--実行結果--

----------------------------
テストセルA1
テストセルA2
テストセルA3
テストセルA4
テストセルA5
テストセルA6
テストセルA7
テストセルA8
テストセルA9
テストセルA10
----------------------------
テストセルB1
テストセルB2
テストセルB3
テストセルB4
テストセルB5
テストセルB6
テストセルB7
テストセルB8
テストセルB9
テストセルB10
----------------------------
テストセルC1
テストセルC2
テストセルC3
テストセルC4
テストセルC5
テストセルC6
テストセルC7
テストセルC8
テストセルC9
テストセルC10

テストシート1内の全セル値を出力しています。



Python
スタートブック


入門 Python 3


Effective
Python


退屈なことは
Pythonにやらせよう

 
 
 

読み込みの次は書き込み!

▶外部ライブラリ:Excel書き込み



確かな力が身につく
Python「超」入門




P  R