ExcelをPython(openpyxl)で操作する - ファイルの新規作成、保存、開く

ExcelをPython(openpyxl)で操作する - ファイルの新規作成、保存、開く
目次

今回はExcelファイルをPythonで操作する方法を紹介したいと思います。

実行環境

実行環境とのそのバージョンは以下になります。

  • python 3.6
  • openpyxl 2.5.6

openpyxlのインストール

今回は openpyxl を使用したいと思います。

openpyxlの公式サイト では 「Excel 2010 の操作ができるよ!」 と書いてありますが、私のMacにインストールされている Mac Excel 2016 でもとりあえず動作しました。

さっそくインストールしましょう。

1pip install openpyxl

新規Excelファイルの作成

千里の道も一歩から。まずは新規でファイルを作成しましょう。

モジュールのインポート

まずは openpyxl が使えるようにモジュールをインポートします。

1from openpyxl import Workbook

ワークブックの作成

Workbookエクセルファイルの実態 を指すオブジェクトになるようですね。 変数 wb に格納します。

1# ワークブックの作成
2wb = Workbook()

シート名の変更

とりあえず、シート名の変更でもやってみましょう。 エクセルは新規でファイル作成をすると、最初からシートがついてきます。 最初のシートの名前を 「シートの名前」 に変更してみましょう。

1# アクティブなシートを選択して、シート名を変更
2ws =  wb.active
3ws.title = "シートの名前"

ファイルの保存

最後にファイルを保存します。 ファイル名は sample_book.xlsx とかにします。

1# sample_bookという名前でファイルを保存
2wb.save(filename = 'sample_book.xlsx')

できあがりを確認する

ファイルが正しく保存されているか確認しましょう。

実行したプログラムと同じフォルダに存在するはずです。

download_file

いましたね。

次にファイルを開いてみましょう。

rename_sheet

ただしくシート名がリネームされていますね!

既に存在するファイルを開くときは?

Python でExcelを操作するモチベーションは 「既に存在するExcelファイルの操作をプログラムから行いたい(自動化したい)」 ケースが多いので、ここでは既存のエクセルファイルの開き方に触れておきます。

load_workbook 関数にファイルのパスを指定することで Workbook オブジェクトを簡単に取得できます。

1from openpyxl import load_workbook
2wb = load_workbook('sample_book.xlsx')
3print(wb.sheetnames)
4# ['シートの名前'] が出力されます

まとめ

今回は openpyxl を使って以下を行いました。

  • Excelファイルの作成
  • Excelファイルの保存
  • Excelファイルのデフォルトのシート名変更
  • Excelファイルを開く

本来やりたいことはここから先だと思いますので、少しづつまとめていきたいと思います。