84151
  
  
openpyxlで行ごとにA,D,F列の値を読み取り、編集してエクセルに入力し直すようなプログラムを作成したいのですが、調べてみると

[code]

    sheet.cell(row=1,column=2).value = 100
    
[/code]

のようにセルを行列指定して記入するような方法しかわかりませんでした。  
私は行ごとに処理を行いたいのですが、何かいい書き方はありますでしょうか。

お詳しい方、よろしくお願いいたします。  
（できれば1行目の読み込み→編集→2行目の読み込み→編集→…のような感じにしたいです。）


CC BY-SA 4.0
2021-12-15T07:34:24.763
84150
2021-12-15T14:18:37.880
49229
question
python python3 excel openpyxl
openpyxlで行順に処理していくが特定行だけを編集したい


行ごとの指定は次のようにできます

[code]

    from openpyxl import load_workbook
    
    wb = load_workbook(filename='file_name.xlsx')
    ws = wb['test_data']
    
    for row in ws.rows:
        for cell in row:
            print(cell.value)
    
    wb.close()
    
[/code]

手もとに Windows無いので試せないけど, たぶん範囲指定もできたはず (未確認)

[code]

    for row in ws['A3:F10']:
        for c in row:
            border = copy(c.border)
            c.value = '置き換える内容'
            c.border = border
    
        print(row[1].value +row[2].value)
    
[/code]

* * *

#### 追記

その他に pandasで読み取り加工する方法も

[code]

    df = pd.read_excel('data/src/sample.xlsx', index_col=0)
    
    
[/code]


CC BY-SA 4.0
2021-12-15T08:18:19.110
84151
2021-12-15T14:18:37.880
2021-12-15T14:18:37.880
43025
43025
84150
answer