PythonでOpenPyXLを使いExcelの行と列を固定する方法


こんにちは。@katsuhisa__です。

PythonのOpenPyXLモジュールを使い、面倒で退屈なExcel作業をPythonで自動化する方法をお伝えする連載の九記事目です!

連載一記事目はこちら。

PythonでExcel作業を自動化するOpenPyXLのはじめての使い方
Excel 間でのセルをコピーしたり、退屈な作業を、Pythonで自動化してみませんか?OpenPyXLを使えば、PythonでかんたんにExcel 作業を実現できます。本記事では、PythonでExcelファイルを操作するモジュールOpenPyXLのはじめての使い方(初心者向け)についてご紹介します!

前回は、OpenPyXLを使いExcelの行と列について色々な設定をする方法をご紹介しました。

今回は、PythonでOpenPyXLを使いExcelの行と列を固定する方法を学習しましょう!

OpenPyXlでExcelの行と列を固定する

早速、OpenPyXlでExcelの行と列の大きさを設定するを学びましょう。

今回は、事前にサンプルのExcelファイルを用意しました。

katsuhisa91/openpyxl_study
Contribute to katsuhisa91/openpyxl_study development by creating an account on GitHub.

Downloadをクリックして、事前にファイルをダウンロードしてください。
ダウンロードが完了したら、ファイルの中身を見てみましょう。

フルーツと値段・個数・産地が並んでいます。

このExcelファイルですが、今後、フルーツのデータの量が増えれば増えるほど、縦に長くなりますね。とすると、一行目を固定したくなるはずです。

OpenPyXLには、Excファイルの行や列を固定するための方法が用意されているので、サンプルコードを見て、その方法を学習しましょう。

まずは、一行目を固定する方法を学習しましょう。

OpenPyXLでExcelの1列目を固定する

実行結果

作成したtest_9.xlsxの中身を見てみましょう。


このままでは、一行目が固定されたかどうか分かりにくいですね。下にスクロールしてみましょう。

1行目が動かず表示され続けていることが確認できました。

ワークシートオブジェクトのfreeze_panes属性

さて、前述のサンプルコードですが、 sheet.freeze_panes = ‘A2’ で、一行目を固定していることが、なんとなくお分かりになるかと思います。

ワークシートオブジェクトのfreeze_panes属性に特定のセルを指定することで、指定したセルより1つ上の行まで、もしくは1つ左の列までを固定することができます。

OpenPyXLでExcelの1列目を固定する

では、1列目(A列)を固定するにはどうすればよいでしょうか?こちらもサンプルコードを見てみましょう。

実行結果です。少し右にスライドさせた状態のキャプチャです。

先ほど記載した通り、freeze_panes属性に特定のセルを指定すると、指定したセルより1つ上の行、もしくは1つ左の列までを固定することができます。

今回の場合は、B1 を指定したので、A列を固定することができた、というわけですね。

同様の考え方で、一行目と一列目を固定するには、freeze_panes属性に、B2を指定すればよいです。

まとめると以下のようになります。

行や列の固定は、データ量が増えてくると使う機会も多いかと思いますので、しっかりおさえておきましょう。

さいごに

以上、OpenPyXLを使いExcelの行と列を固定する方法でした。

次回は、OpenPyXLでチャートを作成する方法をご紹介するのでお楽しみにしていてください。なお、予習を進めたい方は、『退屈なことはPythonにやらせよう』をお買い求めください。

本連載の更新情報は、管理人のタカハシ(@ntakahashi0505)さんのTwitterアカウントや、もちろん私のアカウント(@katsuhisa__)で配信していくので、もしよければ、フォローをお願いします!

連載目次:PythonでExcelを操作するモジュールOpenPyXL

OpenPyXLというモジュールを使うことでPythonでExcelファイルを操作することができます。本シリーズでは初心者向けにExcelファイルの作業をPythonで自動化する方法をお伝えします。
  1. PythonでExcel作業を自動化するOpenPyXLのはじめての使い方
  2. OpenPyXLで複数のセルの値を取得する方法
  3. OpenPyXLでExcelファイルの新規作成・保存を行う方法
  4. PythonでOpenPyXLを使ってExcelのシートを追加・削除する方法
  5. PythonでOpenPyXLでExcelのセルに値を入力する方法と編集する方法
  6. PythonでOpenPyXLを使いExcelのフォントを設定する方法
  7. PythonでOpenPyXLを使いExcelに数式を入力する方法
  8. PythonでOpenPyXLを使いExcelの行と列について色々な設定をする方法
  9. PythonでOpenPyXLを使いExcelの行と列を固定する方法
  10. PythonでOpenPyXLを使いExcelのグラフを作成する〜Chart関連オブジェクトの紹介〜
  11. PythonでOpenPyXLを使いExcelのグラフを作成する〜グラフのつくりかた編〜

  投稿者プロフィール

katsuhisa_
B2B SaaSのスタートアップでSRE のお仕事をやっています。 めんどうなことをそのままやり続けるのではなく、省力化する人を増やしたい。

コメント