【Python】Excelにリストを書き込み:openpyxlの基本テクニック

Python_Excelにリストを書き込み_アイキャッチ Python

Python(openpyxl)で、エクセルにリストを書き込みする方法をご紹介します。

指定列への書き込みや、最終行から書き込みをする方法を記載しています。

ぜひ、お試しください。

Excelにリストを書き込み

以下のコードを実行すると、指定列にリストを書き込みします。


import openpyxl

wb = openpyxl.load_workbook('C:/Users/xxx/Desktop/test/test.xlsx')
ws = wb['Sheet1']

#配列宣言
My_Product = ['商品名','イチゴ','レモン','サクランボ']
My_Count = ['数量',10,15,20]

#配列ループ
for i in range(0,len(My_Product)):

    #A列にリストを書き込み
    ws.cell(i+1,1,value = My_Product[i])

    #B列にリストを書き込み
    ws.cell(i+1,2,value = My_Count[i])

#別名で保存
wb.save('C:/Users/xxx/Desktop/test/testリスト追加.xlsx')

 

コード実行後

エクセルシートのA列とB列にリストを書き込みします。


 
 

Excelにリストを書き込み(指定列の最終行から書き込み)

以下のコードを実行すると、指定列の最後の行からListを書き込みします。


import openpyxl

wb = openpyxl.load_workbook('C:/Users/xxx/Desktop/test/test.xlsx')
ws = wb['Sheet1']

#配列宣言
My_Product = ['イチゴ','レモン','サクランボ']
My_Count = [10,15,20]

#最大行
maxRow = ws.max_row + 1

#3列目を指定
j = 3

#行を逆ループ
for i in reversed(range(1,maxRow)):

    #セルの値がNoneじゃなかったら、次の行から書き込み開始
    if ws.cell(row=i, column=j).value != None:

        #配列ループ
        for Q in range(0,len(My_Product)):

            #リストを書き込み
            ws.cell(i+1,j,value = My_Product[Q])
            ws.cell(i+1,j+1,value = My_Count[Q])
            i = i + 1
        break

#別名で保存
wb.save('C:/Users/xxx/Desktop/test/testリスト追加.xlsx')

 

コード実行後

エクセルシートの特定列の最終行からリストを書き込みします。


 
 

この記事がお役に立ちますと幸いです。
 

【Python】エクセル処理を自動化:超便利41選
...