[xlwingsで上書き保存]エクセルをsaveする【1行で実現】

スポンサードリンク
Python
過去の自分
過去の自分

xlwingsでエクセルファイルを編集できたんだけど、保存ができてなかった…。
保存だけ手動でするのはおかしいし、忘れてしまいそうだから、
xlwingsで保存まで完了させたい!

今の自分
今の自分

なるほど…。
では今回は、
「xlwingsでエクセルファイルを上書き保存する方法」
をできるだけわかりやすく解説いたします!
また、「別名保存」をする方法も紹介いたしますので、
ぜひ最後まで読んでいってください。

【著者情報】
Python歴3年。
入社2年目の春に先輩が突然トンズラし、業務を半分肩代わりするハメに…。
今までの1.5倍の仕事をこなせるはずもなく、苦しむ毎日。
業務効率化を模索中にPythonと出合う。
業務とPythonの相性が良く、2倍以上の効率化を実現。現在も効率化を進行中。

スポンサードリンク

xlwingsでエクセルファイルを上書き保存するには

「save」を使います。まずは実行見本をどうぞ。

実行見本

全コード

ひとまず全コードを網羅します。解説は後ほど行います。

import xlwings

workbook = xlwings.books.active
worksheet = workbook.sheets.active
worksheet['A1'].value = 'utatane'

workbook.save()
workbook.save()

xlwingsの処理は、予想以上に時間がかかることがあります。
プログラムの最後に「print(‘実行完了’)」などを追記し、完了したのを確認してから結果を見ましょう。

事前準備

  • xlwingsのインストール

エクセルファイルを実際に操作するには、「xlwings」のインストールが必要になります。

xlwingsのインストール方法

xlwingsを初めて使用する場合は、下記コードを入力・実行して、インストールしてください。

pip install xlwings

※xlwingsを使用したことがある場合は、このインストール作業は不要です。

インストール方法詳細やインストールができない場合の対処法、
基本的な使い方などは下記記事をご参考ください。

解説

※わかりやすさを重視しております。厳密には解釈が異なる場合がありますことをご了承ください。

インポート~値の書き込み

import xlwings

workbook = xlwings.books.active
worksheet = workbook.sheets.active
worksheet['A1'].value = 'utatane'

上記コードにて、
「xlwingsのインポート」「アクティブブック・アクティブシートの取得」「値の書き込み」
まで完了させることができます。

詳細解説は下記記事をご参考ください。

上書き保存

workbook.save()

上記一文にて、編集したエクセルファイルを上書き保存することができます。

<テンプレ>
【 ブックが入った変数.save() 】

厳密には「ブックを上書き保存」となりますが、解釈としては「エクセルファイルを上書き保存」でOKです。

実行する前に、まずはエクセルファイル(input.xlsx)を開きます。

更新日時に注目してください。

では、プログラムを実行してみましょう。

更新日時が更新され、上書き保存されたことがわかります。

スポンサードリンク

別名保存をするには

場合によっては上書き保存ではなく、別名保存をしたいこともあるかと思います。
そんな時は、「save()」の()内にファイル名やファイルパスを記述してください。

workbook.save('output.xlsx')
workbook.save('C://utatane/output.xlsx')

実行してみます。

「output.xlsx」が作成され、別名保存されたことがわかります。

スポンサードリンク

うまく動作しない時

エラーが出る

‘NoneType’ object has no attribute ‘books’

エクセルブックやエクセルファイルを開いていないのに、ブックやファイルを取得しようとした場合に出るエラーです。
事前に対象のファイルを開くように指定するなど、構文を見直してみましょう。

○○ is not defined

今まで出てきていない変数などを処理しようとした時に出るエラーです。
変数名などが間違っていないかチェックしましょう。

詳しい解説は、下記記事をご参考ください。

その他のエラー

その他のエラーが出た場合は、エラー文をコピーしてNETで検索してみましょう。

空のブックが生成される・残る

作業環境によっては「空のブック(Book1)」が生成されたり、残ってしまう場合があります。
このまま作業を続けると、空のブックがどんどん増えていく可能性があるため対処が必要です。

対処法としましては、何か別のエクセルを開いたままにしておきましょう。
そうすることで、空のブックは生成されません。

作業を始める前に、適当なエクセルファイルをひとつ開いておくことをおすすめします。

スポンサードリンク

最後に

xlwingsでエクセルファイルを上書き保存する方法を解説いたしました。

当ブログでは、xlwingsやopenpyxlなど、Pythonに関する情報を配信しております。
この記事がわかりやすいと感じたら、他の記事も読んでいってください。

挫折せずにPythonを独学で学習する方法は特におすすめです。

最後までお読みいただき、ありがとうございました。がんばってください!

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