Python(openpyxl) データを抽出して別シートへ転記する

openpyxl-データ抽出して別シート転記-アイキャッチ Python

Python(openpyxl)で、エクセルでデータを抽出して別シート転記するコードをご紹介します。

ぜひ、お試しください。

Excelのデータを抽出して別シートへ転記

以下のコードを実行すると、別シートにデータを振り分けします。


import openpyxl

#エクセルファイルを開く
wb = openpyxl.load_workbook('C:/Users/admin/Desktop/テスト/test.xlsx')
ws = wb['Sheet1']

#2~最終行までループ
for row in ws.iter_rows(min_row=2):

    #各行のデータを取得
    cells = [v.value for v in row]

    #各行のデータを変数格納
    (no,name,age,area)=cells

    #コピー先のシート名
    sname = area

    #コピー先のシートが存在するか
    if sname not in wb.sheetnames:
        #新規シート作成
        to_sheet = wb.create_sheet(title=sname)
        #タイトル行を入力
        to_sheet.append(['No','名前','年齢','都道府県'])
    else:
        #シート名を指定
        to_sheet=wb[sname]

    #該当シートに値を追記
    to_sheet.append(cells)

#ファイルに書き込む
wb.save('C:/Users/admin/Desktop/テスト/test2.xlsx')

 

コード実行前

[wb] ファイルの「ws」シートに、データが入力されている状態です。


 

コード実行後

「都道府県」ごとに新規シートを自動作成して、データを転記します。


 
 
この記事がお役に立ちますと幸いです。
 
・【Python】エクセルを自動処理する方法まとめ
 

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

 

「Excel×Python最速仕事術」

Excelの面倒な操作はパソコンにやらせよう
実践的な例題で、業務に即したプログラムを紹介
無駄な残業をするのはもうたくさんな方にオススメの1冊です!