前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >AI办公自动化:批量根据文件标题名移动到对应文件夹中

AI办公自动化:批量根据文件标题名移动到对应文件夹中

作者头像
AIGC部落
发布2024-09-18 14:09:07
1000
发布2024-09-18 14:09:07
举报
文章被收录于专栏:Dance with GenAI

某个文件夹中有很多个文件,现在想要根据文件标题名前面的股票名称,放入对应的子文件夹中。

在deepseek中输入提示词:

你是一个Python编程专家,要完成一个编写Python脚本的任务,具体步骤如下:

打开文件夹:“F:\研报下载”

读取里面所有的doc、docx、pdf文件;

提取文件标题名中第一个符号“-”前面的字符,

和子文件夹名称进行比对,

如果一致,就把这些文件移动到对应的子文件夹中。

举个例子:

文件名为:开普云-2024-9-17-688228.SH-开普云 2023年年度报告-2024-04-20.pdf

提取到的字符为:开普云,那么将这个pdf文件移动到“开普云”这个文件夹中

注意:每一步都要输出信息到屏幕上

Deepseek的回复和源代码:

下面是一个完整的Python脚本,它实现了你描述的功能。脚本会打开指定的文件夹,读取所有的 .doc、.docx 和 .pdf 文件,提取文件标题中第一个符号“-”前面的字符,并与子文件夹名称进行比对。如果一致,则将文件移动到对应的子文件夹中。每一步都会输出信息到屏幕上。

import os

import shutil

# 定义文件夹路径

folder_path = "F:\\研报下载"

# 获取文件夹中的所有文件和子文件夹

files = []

subfolders = []

# 遍历文件夹中的所有内容

for item in os.listdir(folder_path):

item_path = os.path.join(folder_path, item)

if os.path.isfile(item_path):

files.append(item)

elif os.path.isdir(item_path):

subfolders.append(item)

# 输出文件和子文件夹信息

print(f"Found {len(files)} files in the folder.")

print(f"Found {len(subfolders)} subfolders in the folder.")

# 遍历所有文件

for file in files:

# 检查文件扩展名是否为doc、docx或pdf

if file.endswith(('.doc', '.docx', '.pdf')):

# 提取文件名中第一个“-”前面的字符

file_name = os.path.splitext(file)[0]

title_prefix = file_name.split('-')[0]

# 输出提取的标题前缀

print(f"Extracted title prefix: {title_prefix} from file: {file}")

# 检查是否存在与标题前缀一致的子文件夹

if title_prefix in subfolders:

# 构建目标文件路径

target_folder = os.path.join(folder_path, title_prefix)

target_file_path = os.path.join(target_folder, file)

# 移动文件到目标文件夹

shutil.move(os.path.join(folder_path, file), target_file_path)

# 输出移动信息

print(f"Moved file: {file} to folder: {title_prefix}")

else:

# 输出未找到匹配子文件夹的信息

print(f"No matching subfolder found for file: {file}")

print("File organization complete.")

脚本说明:

文件夹路径:脚本首先定义了要处理的文件夹路径 folder_path。

获取文件和子文件夹:脚本遍历文件夹中的所有内容,将文件和子文件夹分别存储在 files 和 subfolders 列表中。

输出文件和子文件夹信息:脚本输出找到的文件和子文件夹的数量。

遍历文件:脚本遍历所有文件,检查文件扩展名是否为 .doc、.docx 或 .pdf。

提取标题前缀:对于符合条件的文件,脚本提取文件名中第一个“-”前面的字符,并输出提取的标题前缀。

检查子文件夹:脚本检查是否存在与标题前缀一致的子文件夹。如果存在,则将文件移动到对应的子文件夹中,并输出移动信息。如果不存在,则输出未找到匹配子文件夹的信息。

完成信息:脚本在完成文件组织后输出完成信息。

注意事项:

确保文件夹路径正确,并且文件夹中有足够的权限进行读写操作。

如果文件名中没有“-”符号,脚本会抛出异常,因此在实际使用中可能需要添加额外的错误处理。

如果文件名中包含多个“-”符号,脚本只会提取第一个“-”前面的字符。

程序运行结果:

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-09-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Dance with GenAI 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档