pip install openpyxl
import openpyxl
wb = openpyxl.load_workbook("sample1.xlsx")
# 数式の結果がほしい場合
# wb = openpyxl.load_workbook("sample1.xlsx", data_only=True)
# シート名の表示
print(wb.sheetnames)
# ワークシート名で取得 sheet = wb["商品"] # 最初のワークシート sheet = wb.worksheets[0] # ワークシート名表示 print(sheet.title)
sheet["セル番号"]でcellオブジェクトを取得。そのvalueプロパティで値を取得。
# A2セルの表示 val = sheet["A2"].value print(val)
またはsheetのcell(行,列)でセルを取得。valueで値を取得。
# A2セルの表示 val = sheet.cell(2,1).value print(val)
書き換えも可能
# A2セルの表示
sheet.cell(2,1).value = 200
# 保存
wb.save("sample2.xlsx")
行の取得
# 行番号で取得(1~)
row = sheet[1]
# セルは0~
print(row[0].value)
# セルを順次処理
for c in row:
print(c.value)
行の順次処理
# 全行(内容がある行のみ)
for row in sheet.rows:
print(row[0].value,row[1].value)
# 2行目から
for row in sheet.iter_rows(min_row=2):
print(row[0].value) # A列
print(row[1].value) # B列
セルをまとめて処理
for row in sheet.rows:
for cell in row:
print(cell.value)
import openpyxl
wb = openpyxl.load_workbook("sample1.xlsx")
# シートの追加
sheet = wb.create_sheet(title="シート名")
# シートの場所を指定して追加
sheet2 = wb.create_sheet(title="シート名2", index=0)
# シート名の表示
print(wb.sheetnames)
# シート名変更 sheet = wb["シート名"] sheet.title = "新シート名"
# シート名変更
sheet.move_sheet("シート名",offser=1)
offsetの値がプラスなら右へ、マイナスなら左へ。
wb = openpyxl.load_workbook("sample1.xlsx")
sheet = wb.copy_worksheet(wb["シート名"])
sheet.title = "新シート名"