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


Excel読み込み (xlrd)

パッケージ「xlrd」は下記リンクよりダウンロードしてください。

インストール設定は全てデフォルトで構いません。


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



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


test_book.xls


#! c:/Python26/python.exe
# -*- coding: utf-8 -*- 

import xlrd

if __name__ == "__main__":

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

「xlrd」モジュールをインポート後、「open_workbook」関数を使用してブックを開きます。

引数にはファイル名を指定しましょう。


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

#! c:/Python26/python.exe
# -*- coding: utf-8 -*- 

import xlrd

if __name__ == "__main__":

    book = xlrd.open_workbook('test_book.xls')
    print "--------------------------------"
    print book.nsheets
    
    print "--------------------------------"
    for name in book.sheet_names():
        print name

--実行結果--

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

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


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

#! c:/Python26/python.exe
# -*- coding: utf-8 -*- 

import xlrd

if __name__ == "__main__":

    book = xlrd.open_workbook('test_book.xls')
    
    print book.sheet_by_index(0).name
    print book.sheet_by_name(u"テストシート3").name

--実行結果--

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

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


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

#! c:/Python26/python.exe
# -*- coding: utf-8 -*- 

import xlrd

if __name__ == "__main__":

    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」関数の引数に行と列を渡します。

#! c:/Python26/python.exe
# -*- coding: utf-8 -*- 

import xlrd

if __name__ == "__main__":

    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内の全セル値を出力しています。


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

▶外部モジュール:Excel書き込み




P  R



Pythonスタートブック

Python
スタートブック



Python入門―2&3対応

Python入門
2&3対応



エキスパートPythonプログラミング

エキスパート
Pythonプログラミング



WSGIウェブプログラミング

WSGI
ウェブプログラミング



Django×Python (LLフレームワークBOOKS)

Django×Python



Pythonゲームプログラミング入門

Python
ゲームプログラミング入門



みんなのPython 改訂版

みんなのPython
改訂版



みんなのPython Webアプリ編 [みんなのシリーズ]

みんなのPython
Webアプリ編



初めてのPython 第3版

初めてのPython
第3版



Pythonチュートリアル 第2版

Pythonチュートリアル
第2版



Python クックブック 第2版

Pythonクックブック
第2版