今回の記事では、openpyxlというライブラリを使って、Excelを操作する基礎部分を解説します。
この記事では、こんな悩みを解決します。

- Excelの業務効率化したくてPythonでどうやるか知りたい
- とても面倒な繰り返し作業がある・・・
WordとExcel業務効率化するための環境構築
WordとExcel業務効率化するためにPythonを使用します。
Pythonを使用できる環境にするために以下を実施ください。
それでは早速、本題に入りたいと思います。
ExcelファイルをPythonで扱う方法
Pythonでエクセルファイルを扱う方法
- openpyxlというライブラリを使用する
openpyxlのインストール方法
以下のコマンドを
- Mac:ターミナル
- Win:コマンドプロンプト
にて入力しEnterを押してください。
pip install openpyxl
openpyxlのインポート
openpyxlを使用するためにはインポートする必要があります。
import openpyxl
これでインポート可能です。
pythonのコードの実行方法がわからない方は、以下の記事を参考にしてみてください。
Jupyter LabによるPythonコードの実行方法
Excelファイルの新規作成と保存
Excelファイルの新規作成
- openpyxl.Workbook()
- wb.save(“hogehoge.xlsx”)
hogehogeの部分に任意のファイル名を指定可能です。
早速以下のコードを実行してみてください。
import openpyxl
wb = openpyxl.Workbook()
wb.save("test.xlsx")
カレントディレクトリにtest.xlsxが作成されると思います。

Excelファイルを読み込む
Excelファイルを読み込む方法
- openpyxl.load_workbook()
以下のコードで読み込むことが可能です。
wb = openpyxl.load_workbook("test.xlsx")
()の中に読み込みたいファイル名を記述します。
今回は、作成したtest.xlsxを読み込みます。
Excelファイルのシート名の確認
- wb.sheetnames
Jupyter Labの場合には以下で表示可能です。
wb.sheetnames

Sheetと表示されました。
これはエクセルファイルのシート名になります。
Excelファイルのシート名の変更
- ws = wb.worksheets[0]
- ws.title = “hogehoge”
さてhogehogeにシート名を変更してみましょう。
ws = wb.worksheets[0]
このコードは、wsという変数にwbのwroksheetリストの0番目を格納するという意味です。
ws.title = "hogehoge"
このコードでシート名をhogehogeに変更します。
一連の流れでhogehogeに変更されているか確認してみましょう。
ws = wb.worksheets[0]
ws.title = "hogehoge"
wb.sheetnames

このように表示されていれば、hogehogeに変更されました。
Excelファイルのシートの追加
- wb.create_sheet(title=””)
title=”Sheet2″を作成してみましょう。
wb.create_sheet(title="Sheet2")

このように表示されればOKです。
Excelファイルのシートのコピー
- wb.copy_worksheet(wb[“コピーしたいシート”])
wb.copy_worksheet(wb["Sheet2"])
wb.sheetnames

Sheet2 Copyというシートが作成されましたね。
Excelファイルのシートの削除
- wb.remove(wb[“削除したいシート”])
wb.remove(wb['hogehoge'])
wb.sheetnames

hogehogeが削除されました。
Excelファイルのセルの指定
アドレス、行列番号の2通りで指定できます。
Excelファイルのセルの指定方法1
# 「A1」のセルの読み込み
c1 = ws["A1"]
c1
<Cell ‘hogehoge’.A1>
Excelファイルのセルの指定方法2
# 「A1」を行列の番号で取得(注意:1から始まる)
c1 = ws.cell(row=1, column=1)
# キーワード(row=, column=)は省略可
c1 = ws.cell(1, 1)
Excelファイルの複数のセル:範囲指定
# 「A1:C3」の範囲
rng1 = ws["A1:C3"]
A1:C3までを選択することができます。
Excelファイルの複数のセル:行指定
# シートの1行目(注意:1から始まる)
row1 = ws[1]
これで1行目を指定できます。
0から始まらないことに注意しましょう。
Excelファイルのセルのアドレスの確認
# アドレス
c1.coordinate
変数c1に格納されているアドレスの取得方法です。
’A1’
などと出力されます。
# 行番号
c1.row
変数c1に格納されている行数を返します。
# 列番号
c1.column
変数c1に格納されている列数を返します。
# 列アルファベット
c1.column_letter
変数c1に格納されている列のアルファベットを返します。
例えばA1の場合はAと返します。
Excelファイルのセルの値の読み書き
# セルの値の読み取り
val1 = c1.value
val1
# セルの値の書き込み
c1.value = 100
c1.value
# セルの数式の書き込み
c_sum = ws["C6"]
c_sum.value = "=SUM(C1:C5)"
エクセルファイルの基本的な操作方法については以上です。
最後までお読みいただきありがとうございました。
コメント
[…] Python無料入門講座①|openpyxlによる〜Excel基礎編〜今回の記事では、openpyxlというライブラリを使って、Excelを操作する基礎部分を解説します。tsukimitech.com2021.03.27 […]