Pythonで既存のエクセルファイルを編集しているんだけど、
保存する時、上書き保存するのはなんだか怖い…。
別名保存する方法はないのかな?
あります!
しかも超簡単にできますよ!
Pythonで既存のエクセルファイルを別名保存する方法を、
Python歴3年の私ができるだけわかりやすく解説し、解決に導きます。
Pythonで既存エクセルを別名保存するには
save()でファイル名を変えます。まずは実行見本をどうぞ。
実行見本
全コード
ひとまず全コードを網羅します。解説は後ほど行います。
import openpyxl
wb = openpyxl.load_workbook('input.xlsx')
ws = wb['実行見本']
ws['A1'] = 'output'
wb.save('output.xlsx')
wb = openpyxl.load_workbook(‘input.xlsx’)
wb.save(‘output.xlsx’)
事前準備
- openpyxlのインストール
既存のエクセルファイルを編集するには「openpyxl」のインストールが必要です。
openpyxlのインストール方法
openpyxlを初めて使用する場合は、下記コードを入力・実行して、インストールしてください。
pip install openpyxl
※openpyxlを使用したことがある場合は、このインストール作業は不要です。
解説
別名保存のしかた
>>3.wb = openpyxl.load_workbook(‘input.xlsx‘)
>>8.wb.save(‘output.xlsx‘)
上記のとおり、「save()」で保存する際、
()内のファイル名を別のファイル名を指定することで、別名保存をすることができます。
実行見本を見ていただくと、罫線や文字色などの装飾やシート名は元ファイルのままで、処理はしっかり行われて別名保存されているのがわかるかと思います。
別名保存する際の注意点
前項にて「save()」で保存する際に別のファイル名を指定することで、別名保存できることを紹介いたしました。
しかしながら、その指定したファイル名のファイルが、既に存在していたらどうなるのでしょうか?
答えは、「そのファイルに上書き保存されてしまう」です。
大事なファイルに上書き保存してしまって消さないようご注意ください。
「日付を取得」して「ファイル名に追加」することで上書きを回避する方法があります。
それぞれ下記記事で解説しておりますのでご参考ください。
その他の解説
上書き保存のしかたや、既存ファイル操作の基本解説は下記記事で行っております。ご参考ください。
うまく動作しない時
エラーが出る
No such file or directory: ○○
これは、読み込むファイルやフォルダが見つからないというエラーです。
読み込むファイルのファイル名と構文のファイル名が一致しているか確認しましょう。
Permission denied: ○○
操作しようとしているファイルにアクセスできないというエラーです。
「ファイルを開いている状態なので編集できない」と言っていることが多いので、開いていれば閉じて再度トライしましょう。
開いていなければ、コンピューターを再起動して再度トライしてみましょう。
Worksheet ○○ does not exist
「指定したシートがありません」というエラーです。
指定のシート名が間違っていないか、「sheet1」など先頭が小文字になっていないか確認しましょう。
その他のエラー
その他のエラーが出た場合は、エラー文をコピーしてNETで検索してみましょう。
まとめ
Pythonで既存のエクセルファイルを別名保存する方法を解説いたしました。
別ファイルへの上書き保存は、くれぐれもご注意ください。
最後までお読みいただき、ありがとうございました。がんばってください。