注目キーワード

【Python】Excelの書き込み操作(openpyxl)➀~ブック偏~

今回は、PythonでExcelの書き込み操作についてまとめました。

いろいろ調べたところ「openpyxl」というライブラリを使うとエクセルの書き込みや読み込みができるそうです。

この記事では、サンプルソースを使いながらExcelのブック操作についてフォーカスをあてて説明していきたいと思います。

対象レベル

Pythonの環境設定が整っており、Pythonの基本構文が理解出来ること。

詳しくは「【Python入門】〜初級編〜環境構築・基本構文まとめ」にまとめてあります。興味のある方はご覧ください。

インストール方法

「openpyxl」はインストールが必要なのでコマンドプロンプトで以下のインストールコマンドを叩いてから実行してください。

pip install openpyxl

ブックの書き込み操作➀新規作成

まずはじめに、「openpyxl」をインポートしてExcelの操作が出来るように準備します。

import openpyxl

そして、「Workbook()」(4行目)を使うことによって、新しいブックのオブジェクトを生成します。

ブックのオブジェクト = openpyxl.Workbook()

あとは、「save(‘保存したいブック名’)」で保存し、「close()」すればOKです。

ブックのオブジェクト.save('ブック名')

下のサンプルソースは「NewBook.xlsx」というブックのファイルを新規作成する処理が記述されています。

それでは、実際に動かしてみましょう。まず初めにプログラム実行前に 「NewBook.xlsx」 というファイルが存在しないことを確認しておきます。

sample_write_openpyxl_book_create.py実行前

プログラムを実行します。

sample_write_openpyxl_book_create.py 実行後に実行ファイルが格納されているフォルダを確認すると「NewBook.xlsx」が作成されています。画像は載せませんが、新しく作られたExcelファイルをクリックすると正しく開けることが確認できました。

sample_write_openpyxl_book_create.py実行後

ブックの書き込み操作②別名保存(複製)

次のエクセル操作は別名保存の方法について触れていきます。

例えば、ひな形のファイルがあったとして、その「ひな形」をコピーしてシートを追加したり、セルに値を埋めたりして最終的に特定のファイル名で保存するときにこのような処理を行います。

今回は「別名保存」をすることにフォーカスを絞っているので、セルの編集やシート操作については省きます。

以下のサンプルソースは「ひな形.xlsx」というファイルを複製して、「 20191027_データファイル.xlsx 」というExcelのファイルを作成しています。

新規作成のサンプルファイルと大きく異なる箇所は4行目の「 load_workbook(filename=’ひな形.xlsx’) 」でファイル名を指定することでExcelのブックを開いて操作が出来るようにしています。

ブックのオブジェクト = openpyxl.load_workbook(filename='操作対象のファイル')

それでは、実際に動かしてみましょう、まず初めに「複製元」のファイルのみが存在することを確認します。

sample_write_openpyxl_book_copy.py実行前

ファイルの中身はこんな感じで「ひな形」というシート名でA1「aaaa」、B2「bbbb」と書いてあります。

ひな形ファイル内容

「 ample_write_openpyxl_book_copy.py 」を実行します。

スポンサーリンク

sample_write_openpyxl_book_copy.py実行

実行後は「20191027_データファイル.xlsx」というファイルが作成されました。

sample_write_openpyxl_book_copy.py実行後

ファイルを開いてみると同じ内容でした。

複製されたブック

まとめ

エクセルの書き込み操作には 「openpyxl」 を使う。「pip install openpyxl」でインストールが可能

ファイルの保存は「ブックのオブジェクト.save(‘ブック名’)」で行う。

既存のブックに対しても、オブジェクトを取得することで操作が可能。取得方法は「 「openpyxl.load_workbook(filename=’操作対象のファイル’)」 」。