LoginSignup
0
1

Macのフォルダ内のファイル名を一括で置換する簡易GUIツールつくりました!Python

Last updated at Posted at 2024-01-13

0.完成例!

gamen_test1 23.14.12.gif

1.使用するライブラリ

-1.pandas
pip install pandas

2.デスクトップなどにTrimName.py等の名前をつけて下記コードをコピペ

import os
import pandas as pd
import re
import tkinter as tk
from tkinter import filedialog

# 置換を実行するフォルダのパスを指定
folder_path = "/Users/nishikawashuuhei/Desktop"  # フォルダのパスを指定してください

# ファイル名を置換する関数
def replace_filename(filename, rules):
    for before, after in rules:
        # もし置換後が空の場合、Nanを""に変換
        if pd.isna(after):
            after = ""
        filename = re.sub(before, after, filename)
    return filename

# ファイルの置換とリネームを行う関数
def process_files(df, folder_path):
    rules = df.values.tolist()

    for root, _, files in os.walk(folder_path):
        for file in files:
            old_file_path = os.path.join(root, file)
            new_filename = replace_filename(file, rules)
            new_file_path = os.path.join(root, new_filename)

            # ファイル名の変更
            os.rename(old_file_path, new_file_path)
            print(f"Renamed: {old_file_path} -> {new_file_path}")

# tkinterウィンドウの作成
root = tk.Tk()

# CSVファイルを読み込む関数
def load_csv():
    csv_file_path = filedialog.askopenfilename(filetypes=[("CSV Files", "*.csv")])
    if csv_file_path:
        df = pd.read_csv(csv_file_path)
        process_files(df, folder_path)  # フォルダパスを変数で指定

# CSVファイルを選択するボタンを表示
load_button = tk.Button(root, text="Load CSV", command=load_csv)
load_button.pack()

# tkinterメインループを実行
root.mainloop()


-1.置換を実行したいフォルダのパスを指定する

Pythonコードの8行目のfolder_pathに置換を実行したいフォルダパスを記述してください。
例:

folder_path = "/Users/shuhei/Desktop"

3.読み込むCSVファイルの作成

-1.任意の場所に「trim_01.csv」等の名前のファイルを作成し下記のように記述
置換前の名前,置換後の名前
.*before.*,after

【一行目】
「置換前の名前,置換後の名前」から変更しないでください。
【二行目以降】
ここに正規表現と置換後のファイル名を記載ください。

4.ダブルクリックでPythonファイルを実行して置換完了!

補足:ダブルクリックでうまく起動しない時

-1.作ったpyファイルを右クリック>情報をみるを選択

スクリーンショット 2024-01-13 13.05.47.png

-2.このアプリケーションで開くに「Python Launcher.app」を選択

スクリーンショット 2024-01-13 13.06.35.png

これでいけると思います。

補足2:Python Launcher.appの設定でターミナルが起動するように設定しないと起動しない場合があります。

-1.Python Launcherを起動

gamen_test1.gif

-2.右上のタブからPython Launcher>settingを選択

スクリーンショット 2024-01-13 23.16.43.png

-3.からターミナルを起動にチェック

スクリーンショット 2024-01-13 23.17.18.png

補足:Python Launcher設定の日本語訳

7efbb506-b5d7-4641-beb2-65964efe413e.png

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1