スポンサーリンク
OpenPyXLを使用すると、PythonからExcelを操作することができます。
本記事では、OpenPyXLを使用したセルの指定と編集方法について、詳しくご説明します。
セルの操作
セルの指定
以下を入力することで、1つのセルを指定することができます。
「A1」セルの指定について、3種類の指定方法をご紹介します。
#input
import openpyxl
wb = openpyxl.load_workbook("sample.xlsx")
ws = wb["Sheet"]
# アドレス「A1」のセルをc1として指定
c1 = ws["A1"]
print("c1:{}".format(c1))
# 行列の番号で「A1」のセルをc2として指定
c2 = ws.cell(row=1, column=1)
print("c2:{}".format(c2))
# 行列の番号(rowとcolumn省略)で「A1」のセルをc3として指定
c3 = ws.cell(1,1)
print("c3:{}".format(c3))
#output
c1:<Cell 'Sheet'.A1>
c2:<Cell 'Sheet'.A1>
c3:<Cell 'Sheet'.A1>
以下を入力することで、複数のセルを範囲指定することができます。
#input
import openpyxl
wb = openpyxl.load_workbook("sample.xlsx")
ws = wb["Sheet"]
# アドレス「A1:D3」の範囲をrngとして指定
rng = ws["A1:D3"]
print("rng:\n{}\n".format(rng))
#output
rng:
((<Cell 'Sheet'.A1>, <Cell 'Sheet'.B1>, <Cell 'Sheet'.C1>, <Cell 'Sheet'.D1>), (<Cell 'Sheet'.A2>, <Cell 'Sheet'.B2>, <Cell 'Sheet'.C2>, <Cell 'Sheet'.D2>), (<Cell 'Sheet'.A3>, <Cell 'Sheet'.B3>, <Cell 'Sheet'.C3>, <Cell 'Sheet'.D3>))
出力結果から、範囲指定した行ごとに、セルがタプル形式で指定されていることが分かります。
セルのアドレスの出力
以下を入力することで、セルのアドレスを出力することができます。
#input
import openpyxl
wb = openpyxl.load_workbook("sample.xlsx")
ws = wb["Sheet"]
# アドレス「A1」のセルをc1として指定
c1 = ws["A1"]
print("c1のアドレス:{}".format(c1.coordinate))
print("c1の行番号 :{}".format(c1.column))
print("c1の列番号 :{}".format(c1.column_letter))
#output
c1のアドレス:A1
c1の行番号 :1
c1の列番号 :A
セルの編集
以下を入力することで、セルの値の読み取りができます。
#input
import openpyxl
wb = openpyxl.load_workbook("sample.xlsx")
ws = wb["Sheet"]
# アドレス「A1」のセルをc1として指定
c1 = ws["A1"]
# c1の値を読み取り
val1=c1.value
print("c1の値:{}".format(val1))
#output
c1の値:1
以下を入力することで、セルの値の書き込みができます。
#input
import openpyxl
wb = openpyxl.load_workbook("sample.xlsx")
ws = wb["Sheet"]
# アドレス「A1」のセルをc1として指定
c1 = ws["A1"]
# c1に書き込み
c1.value = 100
# c1の値を読み取り
val1 = c1.value
print("c1の値:{}".format(val1))
#output
c1の値:100
まとめ
この記事では、OpenPyXLを使用したセルの指定と編集方法について、ご説明しました。
本記事を参考に、ぜひ試してみて下さい。
参考
Python学習用おすすめ教材
Pythonの基本を学びたい方向け
リンク
統計学基礎を学びたい方向け
リンク
Pythonの統計解析を学びたい方向け
リンク
おすすめプログラミングスクール
Pythonをはじめ、プログラミングを学ぶなら、TechAcademy(テックアカデミー)がおすすめです。
私も入っていますが、好きな時間に気軽にオンラインで学べますので、何より楽しいです。
現役エンジニアからマンツーマンで学べるので、一人では中々続かない人にも、向いていると思います。
無料体験ができますので、まずは試してみてください!
\まずは無料体験!/
スポンサーリンク