0
0

【基礎から】PythonでExcel扱えるようにする(3)セルへのアクセス

Last updated at Posted at 2024-08-10

目的

OpenPyxlでセルへのデータ更新ができるようにする。

step1:新規ワークブックの作成

import openpyxl

def step01():
    print("step1")

    # Excelファイルの新規作成
    wb = openpyxl.Workbook()

    wb.save('input_file_step01.xlsx')
    wb.close()

# 動作部 
step01()

動作結果(エクセルファイル:input_file_step01.xlsx)

image.png

シートでの座標関係

image.png

step2:セルの値の更新

import openpyxl

def step02():
    print("step02")

    # Excelファイルの新規作成
    wb = openpyxl.Workbook()
    # ワークシートの取得 (デフォルトでは"Sheet"が作られる)
    ws = wb["Sheet"]

    # セルに値の入力 cell(row,column)
    # セルの位置は、縦=row ,横=col
    ws.cell(1,1).value = "test"
    ws.cell(1,2).value = "あああ"
    ws.cell(2,1).value = "いいい"
    ws.cell(row=1, column=3).value = "ううう"

    wb.save('input_file_step02.xlsx')
    wb.close()

# 動作部 
step02()

動作結果(エクセルファイル:'input_file_step02.xlsx')

image.png

step3:セルの取得

import openpyxl

def step03():
    print("step03")
    # Excelファイルの読み込み
    wb = openpyxl.load_workbook('input_file_step02.xlsx')
    ws = wb["Sheet"]

    # 最大行、最大列
    print("max_row:", ws.max_row)
    print("max_col:", ws.max_column)

    for r in range(1, ws.max_row+1):
        for c in range(1, ws.max_column+1):
            data = ws.cell(r,c).value
            print("r=", r, "c=", c, ",data=", data)

    wb.close()

# 動作部 
step03()

動作結果(terminal)

image.png

step4:セルの代入2

import openpyxl

def step04():
    print("step0")

    # 配置するデータ配列
    table_num = [1,2,3,4,5]

    # Excelファイルの新規作成
    wb = openpyxl.Workbook()
    ws = wb["Sheet"]

    # 縦に配置
    num_row = 1
    for row_data in table_num:
        ws.cell(num_row,1).value = row_data
        num_row += 1

    # 横に配置
    num_col = 1
    for col_data in table_num:
        ws.cell(10,num_col).value = col_data
        num_col += 1

    # 保存
    wb.save('input_file_step04.xlsx')
    wb.close()

# 動作部 
step04()

動作結果(エクセルファイル:'input_file_step04.xlsx')

image.png

本編へ戻る

履歴

2024/08/10 新規作成

eof

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0