送られてきたファイルのファイル名が全て大文字だった…。
ウチのシステムに登録するには小文字にする必要があるんだけど、
数千枚あるから手動で変更するには2~3日かかる…。
その作業、Pythonなら一瞬で終わりますよ!
ファイル名を大文字から小文字に一括変更する方法を解説いたします!
Pythonでファイル名を大文字から小文字に一括変更する方法を、
Python歴3年の私ができるだけわかりやすく解説し、解決に導きます。
Pythonでファイル名を大文字から小文字に一括変更するには
「rename」とfor文で一括変更が可能です。まずは実行見本をどうぞ。
実行見本
現在、「Cドライブ」の「Utatane」というフォルダの中に複数のファイルが入っています。
ファイル名は大文字です。
これを全て小文字に一括変更します。
全コード
ひとまず全コードを網羅します。解説は後ほど行います。
import os
dir_path = 'C:/Utatane'
for file_name in os.listdir(dir_path):
file_path = os.path.join(dir_path, file_name)
if file_name != file_name.lower():
os.rename(file_path, os.path.join(dir_path, file_name.lower()))
解説
※わかりやすさを重視しております。厳密には解釈が異なる場合がありますことをご了承ください。
「インポート」「パスの取得」「ファイル名を一括変更」の3つを解説いたします。
インポート
ファイル名を変更するには「os」のインポートが必要です。
>>1.import os
まずは上記一文を記述して、「os」をインポートしましょう。
パスの取得
>>3.dir_path = ‘C:/Utatane’
上記一文にて、変更したいファイルが入っているフォルダのパスを取得します。
パスとは住所のようなものだと思ってください。
フォルダは、その住所に建っているマンションやアパートなどの集合住宅といったところでしょうか。
ファイルは各部屋。ファイル名変更は各部屋のリフォームと言い換えればわかりやすいかと思います。
【 変数 = ‘変更したいファイルが入っているフォルダのパス’ 】
右辺のパスを間違うと、エラーが出たり、別のフォルダにあるファイル名が変更される場合がありますので、ご注意ください。
フォルダのアドレスバーからコピペするのが無難です。
(コピペ後、「\」は「/」に変更してください)
ファイル名を一括変更
※for文の知識が必要となります。for文の基礎解説は下記記事をご参考ください。
for file_name in os.listdir(dir_path):
file_path = os.path.join(dir_path, file_name)
if file_name != file_name.lower():
os.rename(file_path, os.path.join(dir_path, file_name.lower()))
上記コードを記述することで、ファイル名を一括変更することができます。
1行目:
前項で取得したパスのフォルダの中から、1つのファイルを変数「file_name」に入れる。
(指定された住所にある集合住宅へ行き、1つ目の部屋に入る)
2行目:
フォルダパス(C:/Utatane)とファイルパス(UTATANE-1.xlsx)を結合して
ファイルのフルパス「C:/Utatane/UTATANE-1.xlsx」を作り、変数「file_path」に入れる。
(完全な住所「○県○市○区○○▲▲ハイツ101号室」をメモしておく)
3行目・4行目:
ファイル名が小文字以外ならファイル名を小文字「utatane-1.xlsx」にして、
フォルダパス「C:/Utatane」と結合する。「C:/Utatane/utatane-1.xlsx」
(リフォームしていなければ、リフォームして「○県~ハイツ101号室リフォーム済」に変更する)
というのをファイルが無くなるまで(部屋が無くなるまで)繰り返しています。
小文字→大文字にしたい場合は、「lower」を「upper」に変更して実行してください。
下図のような結果になります。
うまく動作しない時
エラーが出る
FileNotFoundError:指定されたパスが見つかりません
実際に無いフォルダを指定した場合に出るエラーです。
構文のパス名が間違っている可能性がありますので、
フォルダのアドレスバーからパスをコピーし、構文に貼り付けて見比べてみてください。
○○ is not defined
今まで出てきていない変数などを処理しようとした時に出るエラーです。
変数名などが間違っていないかチェックしましょう。
詳しい解説は、下記記事をご参考ください。
その他のエラー
その他のエラーが出た場合は、エラー文をコピーしてNETで検索してみましょう。
ファイル名が変更されない
エラーが出ずにファイル名が変更されない場合は、ファイル名が更新されていないだけかもしれません。
変更したいファイルが入ったフォルダを開き、「F5」キーを押して、フォルダを更新してみましょう。
それでも変更されてない場合は、別の場所のファイル名を変更してしまった可能性があります。
フォルダのアドレスバーからパスをコピーし、構文に貼り付けて見比べてみてください。
まとめ
Pythonでファイル名を大文字から小文字に一括変更する方法を解説いたしました。
ファイル名を一つ一つ手動で変更するのは非常にめんどうです。
今回の方法を使えば一瞬で終わりますので、ぜひご活用ください。
当ブログでは、Pythonに関する情報を配信しております。
この記事がわかりやすいと感じた方は、他の記事も読んでいってください。
最後までお読みいただき、ありがとうございました。がんばってください!