【Python】複数ファイルの特定セルを抽出:openpyxl

openpyxl-複数ファイルの特定セルを抽出124-アイキャッチ Python

Python(openpyxl)で、複数のエクセルファイルの特定セルをまとめるコードをご紹介します。

ぜひお試しください!

Excelの複数ファイルの特定セルを抽出

以下のコードを実行すると、複数のファイルから特定セルだけを1つのファイルに抽出します。


import openpyxl
import glob

#対象ファイルが格納されているフォルダ
target_dir = 'C:/Users/admin/Desktop/テスト'

#保存先
save_file = 'C:/Users/admin/Desktop/テスト/まとめ.xlsx'

#「まとめ.xlsx」作成
Wb = openpyxl.Workbook()
Ws = Wb.active

#「target_dir」にあるエクセルファイル一覧を取得
files = glob.glob(target_dir + '/*.xlsx')

#「target_dir」にあるエクセルファイルを読み込む
for fname in files:
    book = openpyxl.load_workbook(fname, data_only=True)
    sheet = book.active

    #シート内の値を読み込み
    rows = sheet["A2":"D50"]

    for row in rows:
        #セル値をリストとして得る
        values = [cell.value for cell in row]

        #空欄の行は無視する
        if values[0] is None: break

        #「まとめ.xlsx」に転記
        Ws.append(values)

#「まとめ.xlsx」を保存
Wb.save(save_file)

 

コード実行前

[target_dir = ‘C:/Users/admin/Desktop/テスト’] に、

エクセルファイルを格納します。


 

各エクセルファイルのフォーマットは統一されています。


 

マクロ実行後

新規のエクセルファイル「まとめ.xlsx」を作成・保存します。


 

フォルダ内にある全てのExcelファイルから値を抜き出して、

「まとめ.xlsx」に貼り付けます。


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

【Python】データを抽出して別シートへ転記:openpyxl
...

 

「プログラマーの本気がExcelを覚醒させる 超絶ExcelVBA」
ExcelVBAでワンランクアップできる書籍
具体的で応用が利く技をたくさん掲載