Pythonを使用してExcelのファイルを開いたり保存する方法
2021/08/07
今回は、Pythonを使用して簡単なExcelの操作方法について解説。
Excelの操作はほとんどファイルを開いてから、なにかしらの処理をして、ファイルを保存することになります。
その基本操作のファイルを開いてから保存するまでにプログラミングについて解説。
OpenPyXLとwin32.com
Excelを操作する際に使うモジュールはOpenPyXLとwin32.comのどちらかになるでしょう。
OpenPyXLについてはいくつかの本・サイトでも紹介されており、ある程度簡単な処理をしたい場合はオススメです。
win32.comはどちらかというとVBAに近いプログラムの書き方になり、複雑な処理をしたい場合にオススメです。
【注意点】win32.comはPCのOSがWindowsで、かつExcelがインストールされている必要あり
個人的にオススメなのが、win32.comなのですが、初心者の場合は、OpenPyXLから入ったほうが参考書が多いためオススメです。
OpenPyXLでは下記の書籍がオススメ。基本的なことも勉強できるため、かなりの良書。
OpenPyXLでの操作
まず、初めにOpenPyXLでの操作から開始していきます。
OpenPyXLをインストールしていない場合は、インストールしてからになります。
Python 外部パッケージ OpenPyXLをインストールする方法
インストール後、プログラムを動かしていきましょう。
ただ今回は、私のsyukujitsuのExcelファイルを使用しているため、自身のExcelファイルを使用しましょう。
自身のエクセルファイルのパスの確認方法は、下記になります。
確認後は、下記プログラムのfile_pathを変更しておきましょう。ファイルの名前を付けて保存するファイル名を指定しましょう。
import openpyxl #ファイルのパスを指定 file_path = r"C:\Users\user\Desktop\sample\syukujitsu.xlsx" #ファイルを開く excelBook = openpyxl.load_workbook(file_path) #ファイルに名前を付けて保存 excelBook.save('syukujitsu.xlsx')
プログラムを変更後はプログラムを動かします。エラーが起こらず成功するとファイルが開かれて保存されます。
上の画像のようにファイルの更新日時を確認して直近の日時になっていればOKです。
win32.comでの操作
AnacondaでPythonをインストールしていればwin32comは初期から使用できます。
使用できない場合はwin32comのインストールしておきましょう。
win32.comはOpenPyXLと比べて少しコードが多くなります。
import win32com.client file_path = r"C:\Users\user\Desktop\sample\syukujitsu.xlsx" #Excelオブジェクト生成とファイルを開く excel = win32com.client.Dispatch("Excel.Application") wb = excel.Workbooks.Open(Filename=file_path) #Excelファイルを保存 wb.Save() #Excelを閉じる excel.Quit()
プログラムを変更後はプログラムを動かします。エラーが起こらず成功するとファイルが開かれて保存されます。
上の画像のようにファイルの更新日時を確認して直近の日時になっていればOKです。
まとめ
今回は簡単にエクセルのファイルを開いて、保存するまでのプログラムを書きました。
これはExcelの操作をする上で基本の動作になるため、覚えておきましょう。
個人的には、VBAができるような人はwin32.comがオススメ。VBAのプログラムによく似た構文が出てくるため理解がしやすい。
VBAを触ったことがなく、プログラミングの経験もないような人は参考書が多いOpenPyXLからがいいかなー。