毎日、Twitterで日々の成果や頑張りをツイートしてします!

【Python】OpenPyXlでExcelファイルの新規作成する方法を解説!

アイキャッチ画像
カズトン

みなさん、おはようございます!

カズトンです!

「Pythonを使ってExcelを操作するなら、”OpenPyXl”!」

今回もExcel自動化をすることができるPythonのライブラリであるOpenPyXlについての記事です。

今回は、Excelファイルを新しく作る方法を説明していこうと思います。

Excel自動化をするなら、”Excelファイルを作成する”というのは必ず使います。

もちろんですが、前回紹介した”Excelファイルを読み込む”も必須になってきます。

まだ読んでいない方は、こちらの記事も読んでみて下さい。

アイキャッチ画像
カズトン

では、スタート!

はじめに、

Pythonのプログラミングコードを紹介する前に、少し確認をしておきましょう。

以下の2つを確認しておきます。

確認事項
  • OpenPyXlの導入はできているか?
  • 実際に操作で成功しているバージョンの確認

ひとつずつ見ていきましょう。

OpenPyXlの導入方法

一つ目は、OpenPyXlをちゃんと導入できているのかを確認してください。(PCにインストールできているのか)

ライブラリをインストールできていないと、エラーができてExcelを操作することができないので必ず確認してください。

まだ、インストールできていないという方は、こちらの記事を参考にインストールを行って下さい。

Pythonをダウンロードしていない方は、こちら

操作したPCやツール環境の確認

2つ目は、この操作をしたPCやツールのバージョンです。

このバージョンより下だと不具合が起きるかもしれません。

多分無いと思いますが笑

なにかあったときに、バージョンなどの情報は役に立つ場合があるのでまとめておきます。

環境バージョン
Python2.7.16
OpenPyXl1.2.4
Excel2019年版
Mac OS12.0.1
作業したバージョンの確認

OpenPyXlで、Excelファイルを作成する方法

ここから、OpenPyXlを使ってExcelファイルを新しく作成する方法を紹介します。

先に、Excelファイルを作成するコードの構文を紹介します。

その後に、一行ずつコードを解説していきます。

OpenPyXlを詳しく知らなくても、Pythonの知識があればコピペだけで問題ありません、

「詳しく知りたい!」という方は、解説もご覧ください。

構文紹介

OpenPyXlを使って新しくExcelファイルを作成するコードは、以下の通りです。

import openpyxl
import glob    #ライブラリのインポート

new_excel_file = openpyxl.Workbook() #新しいExcelファイルの元を作る
new_excel_file_sheet = new_excel_file.active #作られたファイルのシートを取得
new_excel_file_sheet.title = 'シートのタイトル名' #シートの名前を決める

new_excel_file.save('ファイル名.xlsx') #ファイルを保存
glob.glob("*.xlsx") #ファイルがあるかの確認ができる


コードの解説

では、一行ずつ解説していきましょう。

1,2行目.ライブラリのインポート

import openpyxl
import glob    

これは、前回もいいましたね。もう一度いいます。

「これから、ライブラリを使うぞ!」という宣言するものです。

ここで、気づくと思います。

「ライブラリ2つある?」

「openpyxlはわかるけど、globってなに?」と・・・

カンタンにglobというライブラリは、なにかをまとめておきます。

そこまで、重要ではないので”Excelファイルを作成する時には、セットでつける”と覚えておいてください。

globとは

globは、ファイルを探して取得してくれるライブラリです。

引数に拡張子を渡すと、その拡張子であるファイルを探して取得してくれます。

戻りますが、ライブラリ(モジュール)を扱う場合は必ずインポートの一文を記載するようにしましょう。

構文: import ライブラリ名

説明: 「これから、ライブラリを使うぞ!」という宣言をする一文。(しないと使えない)

3行目.Excelファイルの元を作成

new_excel_file = openpyxl.Workbook() 

タイトルにもありますように”Excelファイルの元を作成”です。

まだ、Excelファイルが作成されたわけではありません。

Excelファイルとなる型を呼び出します。

openpyxl.Workbook()関数を呼び出すと、新しくExcelファイルの型を作成することができます。

新しくできたExcelファイルの型を、変数(new_excel_file)に代入していつでも扱えるようにしておきます。

構文: openpyxl.Workbook()

説明: Workbook(Excelファイルの型)を作成する関数。

カズトン

Workbook(ワークブック)って、Excelも含まれるよ!

他にもあるみたいだから、Workbookを呼び出しただけではExcelかは決められないんだね!

4行目.作られたファイルのシートを取得

new_excel_file_sheet = new_excel_file.active 

ここでは、作られたファイルを開いたときのシートを取得するコードです。

作られたファイル.activeで、開いたときのシートを取得することができるようになります。

開いたときのシートを、変数(new_excel_file_sheet)に代入しています。

構文: Workbookのデータが入った変数.active

説明: Workbookを開いたときのシートを取得。

5行目.シートの名前を決める

new_excel_file_sheet.title = 'シートのタイトル名' 

4行目で取得したシートのタイトルをつける一文です。

シートが入った変数.title = ‘タイトル名’

‘~’の中に好きな文字を入れて、タイトルを決めます。

Excelファイルのここに当たります。

Excelでのシートタイトルの場所

構文: シートが入った変数.title = ‘タイトル名’

説明: シートのタイトルを任意に決める。

6行目.作成したファイルを保存

new_excel_file.save('ファイル名.xlsx') 

タイトルの”Excelファイルの新規作成”は、この一文です。

作成したExcelファイルの型(Workbook).save(‘ファイル名.xlsx’)で、ファイルをPCに保存します。

saveメソッドの引数に、ファイル名を渡してあげればファイルの保存がされます。

先ほどまでExcelファイルの型だったものが、拡張子であるxlsxのファイル名を指定すればExcelファイルの生成に成功です。

カズトン

拡張子のxlsxは、Excelファイルの象徴ですね!

構文: 作成したExcelファイルの型(Workbook).save(‘ファイル名.xlsx’)

説明: ファイル名を指定して、PCに保存する。

7行目.ファイルの確認用

glob.glob("*.xlsx") 

一行目でも少し説明したglobです。

globは、ファイルを探して、取得してくれるライブラリでしたよね。

glob.glob(“*.xlsx”)で、同じフォルダ内のxlsx拡張子をもったファイルを取得してくれるものです。

先ほど作成されたExcelファイルがちゃんと取得されていれば、ちゃんと生成されていたことを確認することができます。

構文: glob.glob(“ファイルパス”)

説明: 引数にファイルパスを渡すと、そのファイルを探して取得してくれる。

例:  glob.glob(“text/*.xlsx”)と指定すると、

    textというフォルダ内のxlsxという拡張子をもったファイルを取得する。

実例

では、実際にOpenPyXlを使ってExcelファイルを作成してみたいと思います。

Macを使って説明しますが、Windowsの方も同じように行って下さい。

Step1.新規フォルダとPythonファイルを準備

以下の名前で、フォルダとPythonファイルを作成しました。

  1. 新規フォルダ名を、”Excelファイル自動作成”
  2. Pythonファイル名を、”excel-create.py”

実際の画面では、以下のようになります。

準備

Step2.エディターにコードを記載し、実行

以下のコードをコピーしてもいいですし、自分で打ってみるのもいいですよ。

import openpyxl
import glob    #ライブラリのインポート

new_excel_file = openpyxl.Workbook() #新しいExcelファイルの元を作る
new_excel_file_sheet = new_excel_file.active #作られたファイルのシートを取得
new_excel_file_sheet.title = 'シートのテスト' #シートの名前を決める

new_excel_file.save('テスト.xlsx') #ファイルを保存
glob.glob("*.xlsx") #ファイルがあるかの確認ができる

print('成功!')


print関数で、成功!と表示させるようにしています。

エラーなくプログラムが読み込まれていたら、ターミナル上で”成功!”と出ると思います。

では、見ていきましょう。

まずは、エディターに上記のコードを入力します。(エディタはVSCodeを使っています。)

Excel作成コードを入力
VSコードでコードを入力

そして、”デバッグなしで実行”を押します。

デバッグなしで実行

エラーがですに、プログラムを読み終えたらExcelファイルができているはずです。

さきほど作ったフォルダ(Excelファイル自動作成)に、Excelファイルができているか確認してください。

無事にExcelファイルを作成できていることが確認できました。

Step3.Excelファイルを開いて、確認

次は、ファイル名とシート名の指定がちゃんと指定されているか確認をします。

ファイル名は”テスト”で、シート名は”シートテスト”という名前で指定しました。

ちゃんとなっているか確認しましょう。

確認2

①ファイル名の確認

確認2-①

②シート名の確認

確認2-②

こちらもちゃんと指定された通りになっていました。

これでOpenPyXlを使って、Excelファイルを新規に作成することができました。

終わりに

最後まで、読んでくださりありがとうございました!

どうでしたか?ちゃんとExcelファイルを作成することができましたか?

もし、わからないことがあればコメントを残してくれてもいいですしTwitterのDMでもいいので来て下さい!

では、また!

最後まで読んでくれてありがとう

おすすめ商品

Python×Excelのおすすめ本を2冊紹介します。