怀念夏天 发表于 2025-4-1 21:02:09

轻松的工作(deepseek)

组长:“这里有一百多个地震波形文件,把每一个地震建立一个文件夹,并把地震波形放到对应日期的地震中。”
我想:一个一个整好麻烦想摸会鱼 让我们来deepseek吧~
首先,生成文件夹:告诉deepseek,我想要什么

https://img2024.cnblogs.com/blog/1706868/202504/1706868-20250401173824071-1620291656.png
使用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:
    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)

https://img2024.cnblogs.com/blog/1706868/202504/1706868-20250401175102973-8247753.png
然后,运行python app.py命令,就会得到:所有我想要的文件夹

https://img2024.cnblogs.com/blog/1706868/202504/1706868-20250401175408983-2091809546.png
下一步,怎么把那么多的文件,放入到对应日期的文件夹呢?

这次,我们要形容的详细一点,告诉deepseek我的文件命名规则,和文件夹的命名规则,以及我们想要到达什么效果。
https://img2024.cnblogs.com/blog/1706868/202504/1706868-20250401180101826-1289609298.png
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 = 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企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 轻松的工作(deepseek)