no-image

pythonのopenpyxlモジュールを使ってエクセル操作【3時間目:セル操作】

前回はワークブックからワークシートオブジェクトを取得する方法を学びました。ここからはセル操作について学んでいきたいと思います。

シートからセルを取得する。

セルを取得するといってもいろいろなやり方があります。まずはセル名を直接指定するやり方です。.valueとすることでセルの値にアクセスできます。

import openpyxl, os
wb = openpyxl.load_workbook('example.xlsx')
sheet = wb.get_sheet_by_name('Sheet1')
print(sheet['A1'])#<Cell 'Sheet3'.A1>
print(sheet['A1'].value)#2015-04-05 13:34:02

rowとcolumnでセルの値にアクセスする。

rowは日本語で行です。columnは列を意味します。

row=1行目 column=2列目とすることでセルにアクセスできます。このときcell()関数を使います。

import openpyxl, os
wb = openpyxl.load_workbook('example.xlsx')
sheet = wb.get_sheet_by_name('Sheet1')
print(sheet.cell(row=1, column=2))#Cell 'Sheet1'.B1
print(sheet.cell(row=1, column=2).value)#Apples

forループを使うことで、一気にアクセスすることもできます。

for i in range(1, 8):
 print(sheet.cell(row=i, column=2).value)

forループを使うときにそのsheetの最大行数と最大列数がしりたいときがあるかもしれないです。そいうときにはmax_rowとmax_columnを使います。

print(sheet.max_row)#7
print(sheet.max_column)#3

次は「pythonのopenpyxlモジュールを使ってエクセル操作【4時間目:もっとセル操作】」です。