Python

【Python】ファイル名の拡張子を取り除く・変更・保存する方法【os.path.splitext, os.path.join, os.listdir】

当サイトでは記事内に広告を含みます

この記事ではファイル名の拡張子を取り除く・変更・保存する方法について解説していきます。

ポイントとしてはos.path.splitext、os.path.join、os.listdirを使用することです。
pythonなどのプログラミングでは初〜中級者の段階では考えるよりも、見て覚えて慣れてしまうのがおすすめなので、ぜひ本記事をご活用くださいませ。
それでは詳しく確認していきます。

pythonで指定ファイル名のcsv拡張子を取り除き、xlsxに変更する方法

【os.path.splitext, os.path.join】

それではまず、pythonで指定ファイル名のcsv拡張子を取り除き、xlsxに変更する方法について解説していきます。


import os

# 拡張子を変更したいファイル名を指定
moto_fairu = "deta.csv" 

# os.path.splitext()で、ファイル名と拡張子を分割
fairu_mei, kakutyousi = os.path.splitext(moto_fairu)

# 新しい拡張子を指定
atarashii_kakutyousi = ".xlsx"

# os.path.join()で、ファイル名と新しい拡張子を結合
atarashii_fairu = os.path.join(fairu_mei + atarashii_kakutyousi)

# ファイル名を表示
print(f"元のファイル名: {moto_fairu}")  
print(f"新しいファイル名: {atarashii_fairu}")

出力結果の例

jupyter notebookでの出力結果のスクショは以下の通りです。

元のファイル名: deta.csv
新しいファイル名: deta.xlsx

コードの解説をしていきます。

1. まず、`os`モジュールをインポートします。このモジュールはファイルやディレクトリ操作に関する様々な関数を提供します。

2. `moto_fairu`変数に、拡張子を変更したいファイル名を指定します。ここでは`”deta.csv”`という名前のファイルを例として使用しています。

3. `os.path.splitext()`関数を使って、`moto_fairu`をファイル名と拡張子に分割します。この関数は、ファイル名を名前部分と拡張子部分のタプルとして返します。返された値は`fairu_mei`と`kakutyousi`という2つの変数に代入されます。

4. `atarashii_kakutyousi`変数に、新しい拡張子`.xlsx`を指定します。

5. `os.path.join()`関数を使って、`fairu_mei`と`atarashii_kakutyousi`を結合し、新しいファイル名を作成します。結合された新しいファイル名は`atarashii_fairu`変数に代入されます。

6. 最後に、`print()`関数を使って元のファイル名と新しいファイル名を表示します。

以上が、pythonで指定ファイル名のcsv拡張子を取り除き、xlsxに変更する方法の解説です。

pythonでフォルダ内の全てのファイル名のcsv拡張子を取り除き、xlsxに変更する方法

続いては、pythonでフォルダ内の全てのファイル名のcsv拡張子を取り除き、xlsxに変更する方法について解説していきます。


import os

# 拡張子を変更したいフォルダのパスを指定
foruda_pasu = "./deta/"

# os.listdir()で、フォルダ内のファイル名をリストで取得
fairu_risuto = os.listdir(foruda_pasu)

# 各ファイルに対して処理を行うループ
for fairu in fairu_risuto:
    # ファイル名と拡張子を分割
    fairu_mei, kakutyousi = os.path.splitext(fairu)
    
    # 拡張子が'.csv'の場合のみ処理を実行
    if kakutyousi == '.csv':
        # 新しい拡張子を指定
        atarashii_kakutyousi = ".xlsx"
        
        # 新しいファイル名を作成
        atarashii_fairu = os.path.join(foruda_pasu, fairu_mei + atarashii_kakutyousi)
        
        # ファイル名を変更
        os.rename(os.path.join(foruda_pasu, fairu), atarashii_fairu)
        
        print(f"{fairu} を {atarashii_fairu} に変更しました。")

出力結果の例

jupyter notebookでの出力結果のスクショは以下の通りです。

deta1.csv を ./deta/deta1.xlsx に変更しました。
deta2.csv を ./deta/deta2.xlsx に変更しました。
deta3.csv を ./deta/deta3.xlsx に変更しました。

コードの解説をしていきます。

1. `os`モジュールをインポートします。

2. `foruda_pasu`変数に、拡張子を変更したいファイルが格納されているフォルダのパスを指定します。ここでは`”./deta/”`というパスを例として使用しています。

3. `os.listdir()`関数を使って、`foruda_pasu`で指定したフォルダ内のファイル名をリストとして取得します。取得したファイル名のリストは`fairu_risuto`変数に代入されます。

4. `for`ループを使って、`fairu_risuto`内の各ファイルに対して処理を行います。ループ内の処理は以下の通りです。

– `os.path.splitext()`関数を使って、現在のファイル名をファイル名と拡張子に分割します。
– `if`文を使って、拡張子が’.csv’の場合のみ処理を実行します。
– 新しい拡張子`.xlsx`を`atarashii_kakutyousi`変数に指定します。
– `os.path.join()`関数を使って、フォルダパスとファイル名、新しい拡張子を結合し、新しいファイル名を作成します。
– `os.rename()`関数を使って、ファイル名を新しいファイル名に変更します。
– `print()`関数を使って、変更前と変更後のファイル名を表示します。

以上が、pythonでフォルダ内の全てのファイル名のcsv拡張子を取り除き、xlsxに変更する方法の解説です。

 

まとめ

本記事では、ファイル名の拡張子を取り除く・変更・保存する方法について解説しました。
`os.path.splitext`関数でファイル名と拡張子を分割し、`os.path.join`関数で新しい拡張子とファイル名を結合することで、簡単に拡張子を変更することができます。

また、`os.listdir`関数を使ってフォルダ内のファイル名を取得し、`for`ループで各ファイルに対して処理を行うことで、一括で拡張子を変更することもできます。

これらの方法を使いこなすことで、ファイル操作の幅が広がるでしょう。