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

【Python】OpenPyXlでExcelのセルを中央や右揃えにする方法を解説!

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

みなさん、こんにちは!

カズトンです!

今回もPythonのライブラリである”OpenPyXl”を使って、Excelを操作する記事を作成しました。

本記事で解説するExcel操作は、「セル内の文字を中央・右揃えにする」です。

他にも「Excelの幅を指定する方法」などのExcel操作を解説している記事がありますので、こちらからご覧ください。

Pythonを使って、めんどくさいExcel作業を自動化してしまいましょう!

はじめに、「OpenPyXlの導入」と「PCやツールのバージョン」を確認します。

必要のない方は、スキップしてかまいません。

カズトン

では、本編スタートです!

はじめに

このセクションでは事前準備として、以下の2つの項目を確認していきます。

確認事項
  • OpenPyXlの導入ができているか
  • PCやツールのバージョンを確認

OpenPyXlの導入

Pythonのライブラリである”OpenPyXl”は、PCにインストールできていますか?

“OpenPyXl”をPCにインストールできていない場合は、Excelを操作することができないので必ず確認をしてください。

まだインストールできていない方は、こちらの記事を参考にしてみてください。

またPython自体をPCにダウンロードできていない方は、公式ページよりインストールしてください。

PCやツールのバージョン確認

今回のExcel操作を行ったときに利用したPCやツールのバージョンを確認しておきます。

予期せぬエラーが起きたときに、解決の手助けになるかもしれません。

環境バージョン
Python2.7.16
OpenPyXl1,2,4
Excel2019年版
Mac OS12.0.1
環境の確認

セルを中央・右揃えにする方法

ここからが本題になります。

セル内の文字を”中央揃え”、”右揃え”にする方法を解説していきます。

はじめにコピペできるように構文を紹介し、その後にコード一行ずつ解説していきます。

構文

import openpyxl #ライブラリのインポート
from openpyxl.styles.alignment import Alignment


excel_file = openpyxl.load_workbook('ファイル名') #Excelファイルの読み込み
excel_sheet = excel_file["シート名"] #Excelシートの取得


center_alignment = Alignment(horizontal='center',vertical='center') #中央揃えの定義
right_alignment = Alignment(horizontal='right',vertical='center') #右揃えの定義


excel_sheet['セル番地'].alignment = center_alignment #特定のセルを中央揃え
excel_sheet['セル番地'].alignment = right_alignment #特定のセルを右揃え


excel_file.save('ファイル名') #Excelファイルの上書き保存

解説

さきほど紹介した構文を5つのブロッグに分けて説明していきます。

説明順番
  1. ライブラリのインポート
  2. 編集するExcelファイル・シートの読み取り
  3. 中央・右揃えの定義
  4. 特定のセルに中央・右揃えを指定
  5. 編集したExcelファイルの上書き保存

Step1:ライブラリのインポート

import openpyxl
from openpyxl.styles.alignment import Alignment

1,2行目は、ライブラリのインポートを行うコードとなっています。

この2行がないと、セルの中央・右揃えの操作ができないので注意をしてください。

1行目は”OpenPyXl”自体を使用できるようにインポートをしています。

一方、2行目は”OpenPyXl”のAlignment関数をインポートしています。

1行目:”OpenPyXl”自体を使用できるようにするコード

まずはExcel操作ができるように、”OpenPyXl”を取り込みます。

この1文は「これから”OpenPyXl”を使うぞ!」と宣言しているんです。

まとめ

構文:import ライブラリ名

解説:ライブラリを使用するときに、必ずこの1文を記載する。

2行目:”OpenPyXl”のAlignment関数を使用できるようにするコード

この一文は「セルの中央・右揃え」の操作を行えるようにするためのコードです。

意味は、「openpyxl.styles.alignmentからAlignment関数をインポート」

まとめ

構文:from openpyxl.styles.alignment import Alignment

解説:セルの中央・右揃えができるAlignment関数を読み込むという意味

Alignmentとは、英語で「揃える」という意味があります。

right alignmentは、右揃え

left alignmentは、左揃え

Step2:編集するExcelファイル・シートの読み込み

excel_file = openpyxl.load_workbook('ファイル名')
excel_sheet = excel_file["シート名"]

次に、編集するExcelファイルとシートを読み込みます。

3行目:Excekファイルの読み込み

load_workbookメソッドを使って、セルの中央・右揃えを操作したいExcelファイルを読み込むことができます。

load_workbookの後ろには編集したいExcelファイルの名前を指定してください。(詳しくはこちら)

まとめ

構文:openpyxl.load_workbook(‘ファイル名’)

解説:読み込みたいファイル名を引数に渡すことによって、そのExcelファイルを読み込むことができる

4行目:Excelシートの読み込み

Excelファイルのデータを格納した変数名.(‘シート名’)で指定する。

他にも「インデックス番号を指定して、Excelシートを取得する」という方法もあります。

Excelシートの操作を詳しく知りたい人は、こちら

まとめ

構文:読み込んだExcelファイル[‘シート名’]

解説:編集したいExcelシート名を書く

アイキャッチ画像
アイキャッチ画像

Step3:中央・右揃えの定義

center_alignment = Alignment(horizontal='center',vertical='center') 
right_alignment = Alignment(horizontal='right',vertical='center')

ここからが本題ですね。

まずは中央・右揃えの操作を行えるように定義します。

定義の方法は、Alignment関数に引数として、”horizontal”と”vertical”に値を渡すことで操作できます。

horizontalは水平方向、verticalは垂直方向を指定することができます。

まとめ

構文:Alignment(horizontal=’向き’,vertical=’向き’)

解説:horizontalは水平方向、verticalは垂直方向(left,center,right)

他にもtextRotationを引数に渡すと、文字を回転させることもできます。

Rotation_90 = Alignment(horizontal='center',vertical='center',textRotation=90) 

90°回転させると、以下のようになります。

Step4:特定のセルを中央・右揃えに指定

excel_sheet['セル番地'].alignment = center_alignment
excel_sheet['セル番地'].alignment = right_alignment

セルの中央・右揃えを指定する方法は、以下の通りです。

Excelシートが格納された変数名[‘指定したいセル番地’].alignment = セルの中央・右揃えを指定した変数名

セルの中央揃えをしたい場合は、center_alignmentを指定

セルの右揃えをしたい場合は、right_alignmentを指定してください。

まとめ

構文:Excelシート[‘指定セル番地’].alignment

解説:指定したいセル番地を指定する

Step5:編集したExcelファイルを上書き保存

excel_file.save('ファイル名')

一行目に書いた「ライブラリのインポート」と同様に、とても重要です。

Excelファイルを編集したあとは、必ずこの一文を記載するようにしましょう。

上書き保存をしないと、せっかく編集したデータが消えてしまうの注意しましょう。

ファイル名
  • 読み込んだときと同じファイル名:上書き保存
  • 読み込んだときと違うファイル名:名前をつけて保存

編集したデータを上書き保存したい場合は、同じファイル名を指定するようにしましょう。

まとめ

構文:読み込んだExcelファイル.save(‘ファイル名’)

解説:上書き保存をしたい場合は、読み込んだExcelファイル名を指定しましょう。

おわりに

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

他にもExcelを操作する記事を投稿しているので、見てみてください。

では、また!

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