Openpyxlを使用しPythonでExcelファイルを別のExcelファイルにデータをコピーしてみます。
なお、Openpyxlモジュールは、Pythonの標準ライブラリではありませんので、事前にインストールする必要があります。
■Python
今回のPythonのバージョンは、「3.8.2」を使用しています。(Windows10)
■Excel(xlsx形式)のファイルを用意する
Openpyxlを使用しExcelファイルを別のExcelファイルにデータをコピーしてみますが、その前にExcel(xlsx形式)のファイルを用意します。
今回は課題管理表というExcel(xlsx形式)(kadai_kanri.xlsx)のファイルを用意しました。
そしてもう1つ、データは何も書き込まれていない空のExcel(xlsx形式)(kadai_kara.xlsx)のファイルを用意しました。
それぞれのファイルが保存されている場所は「C:\Users\user\test(フォルダパス)」となります。
■Openpyxlを使用しExcelファイルを別のExcelファイルにデータをコピーする
Excel(xlsx形式)のファイルが用意できましたので、Openpyxlを使用しExcelファイルを別のExcelファイルにデータをコピーするスクリプトを書いていきます。
■コード
from openpyxl import load_workbook kadai_wb = load_workbook(r'C:\Users\user\test\kadai_kanri.xlsx') kara_wb = load_workbook(r'C:\Users\user\test\kadai_kara.xlsx') kadai_sheet = kadai_wb['Sheet1'] kara_sheet = kara_wb['Sheet1'] for i in range(1, kadai_sheet.max_row+1): for j in range(1, kadai_sheet.max_column+1): kara_sheet.cell(row=i,column=j).value = kadai_sheet.cell(row=i, column=j).value kadai_wb.save(r'C:\Users\user\test\kadai_kanri.xlsx') kara_wb.save(r'C:\Users\user\test\kadai_kara.xlsx')
openpyxlモジュールのload_workbookを呼び出して、load_workbook()で今回用意した2つのExcel(xlsx形式)のファイルを指定します。
指定後、Excel(xlsx形式)のファイル内のシートを読み込むために、「kadai_sheet 」、「kara_sheet」という変数を作成し、コピーするExcel(xlsx形式)のファイル内のシート「Sheet1」を読み込みます。
読み込んだ後、range関数を使ったfor文で、シート「Sheet1」内のすべての行と列をコピーします。
コピーしたものを、save()で指定したExcel(xlsx形式)のファイルに保存します。
■実行
今回書いたスクリプトを「Copy_EXCEL_data.py」という名前で保存し、コマンドプロンプトから実行してみます。
実行してみると、課題管理表というExcel(xlsx形式)(kadai_kanri.xlsx)のファイルのデータが、空のExcel(xlsx形式)(kadai_kara.xlsx)のファイルへコピーされていることが確認できました。
コメント