import os
import shutil
import csv
def move_images_to_folders(csv_file):
"""
画像ファイルを、CSVファイルの情報に基づいて現在のディレクトリのフォルダに移動する関数
Args:
csv_file (str): CSVファイルのパス
"""
# CSVファイルを読み込む
with open(csv_file, 'r') as f:
reader = csv.reader(f)
file_info = {row[0]: row[1] for row in reader}
# 画像ファイルを移動 (最大100回試行)
max_retry = 100
for i in range(0001, 2001):
for _ in range(max_retry):
filename = f"{i:04d}b.jpeg"
filepath = filename
if os.path.exists(filepath):
dest_folder = file_info[filename]
os.makedirs(dest_folder, exist_ok=True)
shutil.move(filepath, dest_folder)
print(f"Moved {filename} to {dest_folder}")
break
else:
i += 1 # ファイルが見つからない場合、次の番号に
print(f"File {filename} not found. Trying next.")
# CSVファイルのパスを指定
csv_file = "test.csv"
move_images_to_folders(csv_file)
以下、説明
・shutil: pythonのモジュール。shell utilitiesの略。ファイルの操作などをすることができる。
・csvファイルの分類に従って、ファイルをフォルダに移動させるプログラム。ファイル名が抜けていると、そこでプログラムが止まってしまうので、100回ループさせて、それでもファイルがなければ、次の番号のファイルに移るようにプログラムを改良した。
0 件のコメント:
コメントを投稿