Openpyxlを使用しPythonでExcelファイルを別のExcelファイルにデータをコピーする

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)のファイルへコピーされていることが確認できました。

コメント

タイトルとURLをコピーしました