(2020-03-31 初稿 - 2021-05-12 転記・修正)
はじめに
エクセル等の表計算ソフトの値を加工したいが、毎回手作業でやるは大変。
マクロでも良いけど、セキュリティ的に受け付けられない場合が心配。
ということで、表計算ソフトの値をpythonで取り出して、加工しようとした。
このページは、相変わらずの筆者の備忘録。(^^ゞ
インストール
表計算ソフトを扱うためには、openpyxlというモジュールをインストールする必要がある。
筆者は、pythonに詳しくないDebian使いなので、DebianやRaspberry 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()
少しコメントを多く入れたので、わかりやすいかと(^_^;)。
おわりに
思ったよりも簡単に表計算ソフトの値を取り出すことができた。
値が取り出せれば、加工は簡単だよね。
また、何かわかったら追記するね。