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 = "新シート名"