ひゃまだのblog

ひゃまだ(id:hymd3a)の趣味のブログ

pythonで表計算ソフトの値を取り出して表示する

(2020-03-31 初稿 - 2021-05-12 転記・修正)

はじめに

エクセル等の表計算ソフトの値を加工したいが、毎回手作業でやるは大変。
マクロでも良いけど、セキュリティ的に受け付けられない場合が心配。
ということで、表計算ソフトの値をpythonで取り出して、加工しようとした。
このページは、相変わらずの筆者の備忘録。(^^ゞ

インストール

表計算ソフトを扱うためには、openpyxlというモジュールをインストールする必要がある。
筆者は、pythonに詳しくないDebian使いなので、DebianRaspberry Piでは、以下のとおりaptの管理のもとインストール。

sudo apt-get install python3-openpyxl 
    (python2の場合:python-openpyxl)

実行例

openpyxlのインストールが終了したら、さっそく表計算ソフトの値を表示させる。
ここでは、test.xlsxというエクセルのブックをサンプルとして用いる。
また、以下のスクリプトをエディタで作成したら、chmod +x で実行権を付与すること。

#!/usr/bin/env python3
#coding: UTF-8

from openpyxl import load_workbook     # openpyxlをロード

file_path = 'test.xlsx'                # サンプルの表計算ブック
wb = load_workbook(filename=file_path) # 表計算ブックをロード
sheet = wb['sheet1']                   # ワークシートを指定

# 全行の値を配列にして表示
for row in sheet:
    value = [cell.value for cell in row]
    print(value)

for row in sheet:
    row_num = row[0].row               # 行番号の取得(参考までに)
    
for i in range(6, 13+1):
    # 6行目から13行目を出力
    # 4列目の値を表示
    print(sheet.cell(column=4,row=i).value)

wb.close()

少しコメントを多く入れたので、わかりやすいかと(^_^;)。

おわりに

思ったよりも簡単に表計算ソフトの値を取り出すことができた。
値が取り出せれば、加工は簡単だよね。
また、何かわかったら追記するね。

関連ページ