【Python】openpyxlでExcelを操作してみる

スポンサーリンク

anacondaであれば標準でインストールされているopenpyxlライブラリを使えば、簡単にExcelが操作できるので非常に便利です。

とりあえず、Excelファイルを新規作成→シート作成→文字入力→保存して最後に保存したファイルを開くまでの動作を試してみました。

前提条件としてanacondaが既にインストールされていることが前提で当記事は書いています。
インストールがまだの人は以下を参考にインストールしてみてください。

openpyxlをインポートすればExcelを操作できる

openpyxlライブラリは先頭にimport openpyxlを記述することで使えます。


以下のサンプルPGは以下のことを行っています。

  • openpyxlでExcelを開く
  • 先頭のシートにテストという名前シートを作成
  • 先頭(セルA1)に[テスト]という文字列を入力
  • セルA2に[項目1]
  • セルB2に[項目2]
  • セルC2に[項目3]
  • テスト.xlsxという名前で保存。
  • 保存したファイルを開く
#Excelをいじるライブラリ
import openpyxl as px
#カレントディレクトリを取得するライブラリ
import os
#プロセスを起動させるライブラリ
import subprocess
#カレントディレクトリを取得
path=os.getcwd()
print(path)
#openpyxlでExcelを開く
wb=px.Workbook()
#ワークシートの先頭にテストという名称のシートを作成
ws1=wb.create_sheet("テスト",0)
#1行目にテストという文字列を入力
ws1.append(["テスト"])
#A2・B2・C2に項目名を入力
ws1["a2"]="項目1"
ws1["b2"]="項目2"
ws1["c2"]="項目3"
#テストというファイル名で保存
wb.save('テスト.xlsx')
#保存されたファイルを開く
subprocess.Popen(["start", "", r"C:\Users\USER\python_source\テスト.xlsx"], shell=True)

JupyterNotebookで実行。

実行すると自動でテスト.xlsxが開き、シート名:テストに以下の内容が入力されています。

ポイント

  • import openpyxlでpythonでExcelを操作できるようにしている。
  • import osでファイル保存時のディレクトリ情報などが取得できるようになる。
  • import subprocessでExcelなどの外部プログラムやファイルを開くことができるようになる。
  • create_sheet(“テスト”,0)は、シート名はテスト、シートの位置は先頭(0が先頭)で作成
  • wb.save(‘テスト.xlsx’)で今まで操作した内容を保存する。
  • subprocess.Popen([“start”, “”, r”C:\Users\USER\python_source\テスト.xlsx”], shell=True)でExcelファイルを”start”で起動している。

まとめ

pythonでExcelを操作するのは、上記のPGでもわかる通り非常に簡単です。今回は書いてませんがExcelの書式設定や文字の大きさも当然変更できますし、グラフの作成などもできるので無限の可能性があると思います。PythonとExcelの組み合わせで仕事でやっている定型的な作業を自動化することも可能で、簡単で自動化が行えることがPyhonの理由の一つだと思います。

コメント

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