组长:“这里有一百多个地震波形文件,把每一个地震建立一个文件夹,并把地震波形放到对应日期的地震中。”
我想:一个一个整好麻烦想摸会鱼 让我们来deepseek吧~
首先,生成文件夹:告诉deepseek,我想要什么
使用Python脚本(适合批量处理)
- import os
- from openpyxl import load_workbook
- # 设置路径和Excel文件
- excel_path = 'test.xlsx' # Excel文件路径
- save_path = './' # 目标文件夹路径
- column_letter = 'A' # 数据所在列(如A列)
- # 读取Excel数据
- wb = load_workbook(excel_path)
- ws = wb.active
- # 遍历单元格创建文件夹
- for row in ws[column_letter]:
- folder_name = str(row.value).strip()
- if folder_name and folder_name != 'None': # 跳过空单元格
- full_path = os.path.join(save_path, folder_name)
- os.makedirs(full_path, exist_ok=True) # exist_ok避免重复报错
- print("文件夹创建完成!")
复制代码 这是我的Excel文件(test.xlsx)
然后,运行python app.py命令,就会得到:所有我想要的文件夹
下一步,怎么把那么多的文件,放入到对应日期的文件夹呢?
这次,我们要形容的详细一点,告诉deepseek我的文件命名规则,和文件夹的命名规则,以及我们想要到达什么效果。
 - import os
- import shutil
- import re
- def organize_files_by_time(source_dir):
- # 创建文件夹时间戳索引字典 {时间戳: 文件夹路径}
- folder_time_map = {}
- # 遍历所有目录(第一级)
- for item in os.listdir(source_dir):
- item_path = os.path.join(source_dir, item)
-
- # 处理文件夹(时间格式:yyyymmddHHMMSS-***)
- if os.path.isdir(item_path):
- # 使用正则匹配时间戳部分
- match = re.match(r"^(\d{14})-.+", item)
- if match:
- time_str = match.group(1)
- folder_time_map[time_str] = item_path
- # 遍历所有文件(第一级)
- for filename in os.listdir(source_dir):
- file_path = os.path.join(source_dir, filename)
-
- # 处理SEED文件(格式:yyyymmddHHMMSS.***.SEED)
- if os.path.isfile(file_path) and filename.endswith(".SEED"):
- # 提取时间戳部分
- match = re.match(r"^(\d{14})\..+", filename)
- if not match:
- continue
-
- time_str = match.group(1)
-
- # 查找匹配的文件夹
- target_folder = folder_time_map.get(time_str)
- if not target_folder:
- print(f"未找到匹配文件夹:{filename}")
- continue
- # 移动文件到目标文件夹
- try:
- shutil.move(file_path, os.path.join(target_folder, filename))
- print(f"已移动:{filename} -> {os.path.basename(target_folder)}")
- except Exception as e:
- print(f"移动失败:{filename} | 错误:{str(e)}")
- if __name__ == "__main__":
- # 设置要处理的目录路径(当前目录)
- current_directory = os.getcwd()
-
- # 执行整理操作
- organize_files_by_time(current_directory)
-
- print("文件整理完成!")
复制代码 最后,用了十分钟,我们就完成了这件事(编程小白,能摸鱼还是很快乐的
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |