Python、フォルダ内のデータ移動を試してみた。
import os
import shutil
from tkinter import Tk, filedialog
from openpyxl import load_workbook
def move_data():
# 移動元フォルダを選択する
root = Tk()
root.withdraw() # ルートウィンドウを表示しない
source_folder = filedialog.askdirectory(title="移動元フォルダを選択してください")
if not source_folder:
print("移動元フォルダが選択されていません。")
return
# 移動先フォルダを選択する
destination_folder = filedialog.askdirectory(title="移動先フォルダを選択してください")
if not destination_folder:
print("移動先フォルダが選択されていません。")
return
# Excelファイルを選択する
file_path = filedialog.askopenfilename(title="Excelファイルを選択してください", filetypes=[("Excel files", "*.xlsx")])
if not file_path:
print("Excelファイルが選択されていません。")
return
# Excelファイルを読み込む
workbook = load_workbook(file_path)
sheet = workbook.active
# A列のA2より下のセルにデータが含まれる行を特定する
rows_to_move = []
for row in sheet.iter_rows(min_row=2, min_col=1, max_col=1, values_only=True):
if any(row):
rows_to_move.append(row)
# 移動する
for row in rows_to_move:
# 移動元フォルダ内のファイルを取得
files = os.listdir(source_folder)
# ファイル名の部分一致を検証して移動
for file_name in files:
if str(row[0]) in file_name:
file_path = os.path.join(source_folder, file_name)
destination_path = os.path.join(destination_folder, file_name)
shutil.move(file_path, destination_path) # ファイルを移動
print("移動が完了しました。")
move_data()
この記事が気に入ったらサポートをしてみませんか?