Python(openpyxl) 一覧表から個別シートを作成する

Python(openpyxl) -一覧表から個別シートを作成-アイキャッチ Python

Python(openpyxl)で、Excelの一覧表から個別シートを作成するコードをご紹介します。

ぜひ、お試しください。

一覧表から個別シートを作成する

以下のコードを実行すると、名簿一覧から個別表を作成します。


import openpyxl

#エクセルファイルを開く
wb = openpyxl.load_workbook('C:/Users/xxx/Desktop/test/test.xlsx')

#シートを変数格納
IchiranWs = wb['一覧表']
HinaWs = wb['雛形']

#IchiranWsの行ループ
for row in IchiranWs.iter_rows():

    for cell in row:

        #2行目以降だったら
        if cell.row >=2 :

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

            #HinaWsをコピーしてシート名入力
            sheet = wb.copy_worksheet(wb['雛形'])
            sheet.title=cells[0]

            #IchiranWsのデータを、sheetに転記
            sheet['B1'] = cells[0]
            sheet['B2'] = cells[1]
            sheet['B3'] = cells[2]

            sheet['D1'] = cells[3]
            sheet['D1'].number_format = 'yyyy/m/d'

            sheet['D2'] = cells[4]
            sheet['D3'] = cells[5]
            sheet['D4'] = cells[6]
            break

#別名で保存
wb.save('C:/Users/xxx/Desktop/test/個別.xlsx')

 

コード実行前

[wb] ファイルの「一覧表」シートに、名簿があります。


 

「雛形」シートを用意します。
個別シートを作るときは、この「雛形」シートをコピーして使用します。


 

コード実行後

「氏名」ごとに、1つのシートを作成します。


 

指定セルに、該当データを転記しています。


 
 
動作環境
Python 3.7.4
openpyxl 3.0.5

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

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

 

「Python 1年生 体験してわかる!会話でまなべる!」

初めての方でも安心して取り組めるように丁寧に解説
簡単なサンプルを作りながら、対話形式でプログラミングまで紹介
人工知能の導入としてもオススメの1冊です!