( New ) 新連載スタート!2人の会話形式でPythonを学ぶ「週末Pythonゆる講座」はこちら ▶▶

PythonでExcel自動化|作成から保存まで【#1 基礎編】

今回学ぶこと

PythonでExcelを操作する方法のうち、今回は基礎編として下記内容をご紹介していきます

  • 「openpyxl」ライブラリのインポート
  • 「ワークブック」「ワークシート」「セル」の概念
  • 作成→入力→保存までの一連の流れ

今後、DataFrameやグラフをExcelに書き込む場合も同じ流れになります

まずはExcelを作り、加工して、保存するまでの一連の流れを理解しましょう

MEMO

openpyxlでは非常に細かいExcel作業をPython上で実行することができます

その一方で高度なPythonの技術が必要になります

難しい説明は他サイトに譲るとして、本サイトでは苦手意識がでない範囲でご説明を進めます

事前準備

openpyxlというPythonでExcelを使うことができるライブラリをインポートします 

import openpyxl

基礎概念の理解

openpyxlでは普段Excelでは意識して使わない用語が出てきます

Workbook Worksheet Cellこの3つは実際のExcelに照らし合わせ見ていきましょう

openpyxlでのWorkbook Worksheet Cellのイメージ

1つのExcelファイルがWorkbookという概念を使います

慣習として「wb」と略される場合が多いです

続いてExcelの中のシートをWorksheetという概念で「wb」と略されて利用します

そしてセルはそのままCellとして扱われます

もちろんExcelのように「A3」「B5」というセルの指定をすることもできます

作成から保存までの一連の流れ

ワークブックの作成

まずはWorkbookを利用して「wb」という変数にワークブックを作ります

wb = openpyxl.Workbook()

ワークシートの作成

activeを使うことで「ws」という変数にワークシートを定義します

※ワークブックには始めからワークシートが作られているため、それをactiveにするだけです

ws = wb.active

もしくはcreate_sheetでもワークシートを作成することができます

ws = wb.create_sheet()

また「シート名」を記載することもできます

デフォルトでは最後にシート作成されますが、パラメータで最初や最後から2番目などポジションを設定できます

ws1 = wb.create_sheet('Mysheet') # 最後(デフォルト)
ws2 = wb.create_sheet('Mysheet', 0) # 最初
ws3 = wb.create_sheet('Mysheet', -1) # 最後から二番目

手持ちのExcelを読み込む

load_workbookを使うことで、既存のExcelファイルをPythonに読み込むこともできます

wb4 = openpyxl.load_workbook('sample.xlsx')

パスを指定しても同じ結果になります

wb4 = openpyxl.load_workbook('/content/drive/MyDrive/Python/sample.xlsx')

DataFrameに読み込むには方法はこちら↓

【Python】read_excel|エクセルをPythonに読み込む方法

ワークシート名を変更する

titleを使うことでワークシート名を変更することができます

ws.title = 'テストのシート'

ワークシート名を抽出

sheetnamesを使うことでワークブックに含まれるシート名を抽出することができます

wb.sheetnames
wb.sheetnamesの結果

セルに上書き

先ほどのワークシートに対し「A4」のセルを指定して上書きを実施することができます

今回は数値の1を挿入します

ws['A4'] = 1

cellを使って「row」「column」を指定し「value」を挿入することもできます

ws.cell(row=4, column=2, value=2)
openpyxlのrowとcolumnのイメージ

ワークブックを保存

saveを使い、Pythonで操作したExcel(Workbook)を保存することができます

ファイル名と拡張子(xlsx)を記載し、実行します

wb.save('test.xlsx')

もちろんファイルパスを指定して保存も可能です

wb.save('/content/drive/MyDrive/Python/test.xlsx')

単純にDataFrameをExcelに書き出す方法はこちら↓

【Python】to_excel|エクセルにデータを書き込む方法

データの確認(ローカル)

保存したExcelを開きましょう

openpyxlで作成したExcelのサンプル

上書きした「A4」のセルと「row=4, column=2 (B4)」のセルに数値が入っていることが分かります

まとめ

今回はPythonでExcelファイルを実行するにあたり、一連の流れについてご紹介してきました

基本的にはPythonのDataframeでデータを集計し、加工が終わったテーブル・グラフをExcelに加工するという流れになりますが、

作成から保存までの流れは必須になるので覚えて使ってみてください

お気に入り登録お願いします

コメントを残す

メールアドレスが公開されることはありません。