Pythonでopenpyxlを用いてワークブック内のセルの移動

Pythonでopenpyxlを用いてワークブック内のセルの移動を行ってみます。

なお、今回openpyxlを使用します。このモジュール・ライブラリは、Pythonの標準ライブラリではありませんので、事前にインストールする必要があります。

■Python

今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows10)(pythonランチャーでの確認)

■新規のワークブックを用意する

今回Pythonでopenpyxlを用いてワークブック内のセルの移動を行ってみますが、その前に新規のワークブックを用意します。

今回はGoogleスプレッドシートを用いて、上記のワークブックを作成しました。このシートを「test.xlsx」というxlsx形式のファイルで保存します。

保存後、ファイルをわかりやすいように「C:\Users\user_\test(フォルダパス)」に移動させます。これでセル移動の準備は完了です。

■openpyxlを用いてワークブック内のセルの移動

次に、openpyxlを用いてワークブック内のセルの移動させるスクリプトを書いていきます。

■コード

from openpyxl import load_workbook

file_path = r'C:\Users\user_\test\test.xlsx'

wb = load_workbook(file_path)

ws = wb.active

ws.move_range('A1:B5',rows=3,cols=3)

wb.save(file_path)

「from import」でopenpyxlモジュールのload_workbookを呼び出します。その後、file_pathという変数を定義し、その中に今回用意したワークブックが置かれている場所とファイル名を格納します。

格納後、wb変数を定義し、その中でload_workbook()を用います。括弧内には引数,パラメータとして、file_path変数を渡します。

その後、ws変数を定義し、load_workbook()を用いて読み込んだワークブックをactiveの状態にし格納します。

格納後、move_range()を用います。括弧に、第1の引数,パラメータとして移動させるワークブック内のセルの範囲を渡します。第2の引数,パラメータとしてセルを移動させるために、rows(行)を渡します。第3の引数,パラメータとしてさらに移動させるためにcols(列)を渡します。

これでワークブック内のセルを移動させることができます。

最後にsave()を用います。セルを移動させた後のワークブックを保存させるために、括弧内に引数,パラメータとして、file_path変数を渡します。

■実行・検証

このスクリプトを「moving_cells.py」という名前で、Pythonが実行されている作業ディレクトリ(カレントディレクトリ)に保存し、コマンドプロンプトから実行してみます。

実行してみると、今回はワークブック内のセルを移動させた後にprint()を用いて移動完了といった文字列を出力させるような指示は記述しないので、何も出力されません。

何も出力されませんが、セルを移動後のワークブックは、指定されたワークブックに保存されました。それを確認するために、スクリプトを実行後に「test.xlsx」を開いてみます。

開いてみると、move_range()を用いたことで、ワークブック内のセルを移動させることができたことを確認できました。

コメント

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