首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
案例01 提取文件夹中所有工作簿的文件名
案例02 批量新建并保存多个工作簿
案例03 打开文件夹下的所有工作簿
案例04 批量重命名多个工作簿
案例05 批量转换工作簿的文件格式
案例06 将多个工作簿合并为一个工作簿
案例07 按照扩展名分类工作簿
案例08 按照日期分类工作簿
案例09 按关键词查找工作簿
案例10 保护一个工作簿的结构
案例11 读取一个工作簿中所有工作表的名称
案例12 在多个工作簿中批量新增工作表
案例13 在多个工作簿中批量删除工作表
案例14 重命名一个工作簿中的所有工作表
案例15 将一个工作表中的数据分组拆分为多个工作表
案例16 合并多个工作表中的数据
案例17 批量打印工作表
案例18 根据单元格内容自动调整行高和列宽
案例19 在多个工作簿的同名工作表中追加行数据
案例20 将工作表中的一列拆分为多列
案例21 合并内容相同的连续单元格
案例22 批量删除多个工作表中的重复行
案例23 批量在单元格中输入公式
案例24 批量复制/粘贴单元格格式
案例25 排序多个工作簿中所有工作表的数据
案例26 排序多个工作簿中的同名工作表数据
案例27 筛选一个工作簿中所有工作表的数据
案例28 让数据筛选可视化
案例29 打包为可执行文件
案例30 分类汇总多个工作表中的数据
案例31 批量制作数据透视表
案例32 批量标记最大值和最小值
案例33 绘制柱形图
案例34 绘制饼图
案例35 绘制折线图
案例36 绘制动态条形图
案例37 绘制可交互的旭日图
案例38 在一张画布中绘制多个图表
案例39 绘制组合图表
案例40 在多个工作表中插入图表
当前位置:
首页>>
技术小册>>
python与ChatGPT让excel高效办公(下)
小册名称:python与ChatGPT让excel高效办公(下)
### 案例01 提取文件夹中所有工作簿的文件名 在现代办公环境中,处理大量Excel工作簿是一项常见且重要的任务。尤其是在数据分析、财务管理或项目管理等领域,经常需要从多个工作簿中汇总数据或执行批量操作。然而,手动打开每个文件并记录下文件名不仅效率低下,还容易出错。幸运的是,通过结合Python的强大功能和ChatGPT等AI工具的辅助,我们可以自动化这一过程,显著提高工作效率。本案例将详细介绍如何使用Python脚本来提取指定文件夹中所有Excel工作簿(假设以`.xlsx`或`.xls`为扩展名)的文件名,并展示了如何将这些文件名保存到一个新的Excel工作簿中,以便于后续分析或引用。 #### 一、环境准备 在开始编写代码之前,请确保你的计算机上已安装Python环境以及必要的库。对于本案例,我们将主要使用`os`模块来处理文件和目录路径,以及`openpyxl`(或`xlwt`,如果你需要处理`.xls`格式的文件)来操作Excel文件。如果你尚未安装这些库,可以通过pip命令进行安装: ```bash pip install openpyxl # 如果需要处理.xls文件,则安装xlrd(仅用于读取)和xlwt(用于写入) # pip install xlrd xlwt ``` #### 二、编写Python脚本 接下来,我们将编写一个Python脚本来实现我们的目标。这个脚本将遍历指定文件夹中的所有文件,检查它们是否为Excel工作簿(即扩展名为`.xlsx`或`.xls`),并将这些文件名收集起来,最后将这些文件名写入一个新的Excel文件中。 ```python import os from openpyxl import Workbook def extract_excel_filenames(folder_path, output_file): """ 从指定文件夹中提取所有Excel工作簿的文件名,并将它们保存到一个新的Excel文件中。 :param folder_path: 包含Excel文件的文件夹路径 :param output_file: 保存文件名列表的Excel文件路径 """ # 创建一个新的Excel工作簿 wb = Workbook() ws = wb.active ws.title = "Excel File Names" # 遍历文件夹中的所有文件 for root, dirs, files in os.walk(folder_path): for file in files: # 检查文件扩展名是否为.xlsx或.xls if file.endswith(('.xlsx', '.xls')): # 构造完整文件路径(可选,用于调试) full_path = os.path.join(root, file) # 将文件名添加到Excel文件中 ws.append([file]) # 保存Excel文件 wb.save(output_file) print(f"Excel文件名已保存到 {output_file}") # 使用示例 folder_to_scan = 'C:/path/to/your/excel/files' # 修改为你的文件夹路径 output_excel_file = 'C:/path/to/your/output/excel_filenames.xlsx' # 修改为你的输出文件路径 extract_excel_filenames(folder_to_scan, output_excel_file) ``` #### 三、代码解析 1. **导入模块**:首先,我们导入了`os`模块用于文件和目录操作,以及`openpyxl`的`Workbook`类用于创建和保存Excel文件。 2. **定义函数**:`extract_excel_filenames`函数接受两个参数:`folder_path`(要扫描的文件夹路径)和`output_file`(保存文件名列表的Excel文件路径)。 3. **创建Excel工作簿**:使用`openpyxl.Workbook()`创建一个新的Excel工作簿,并获取活动工作表(默认为第一个工作表),设置其标题为“Excel File Names”。 4. **遍历文件夹**:通过`os.walk()`遍历指定文件夹及其所有子文件夹。对于每个文件,检查其扩展名是否为`.xlsx`或`.xls`。 5. **收集文件名**:如果文件是Excel工作簿,则将其文件名添加到Excel工作表的下一行中。这里使用了`ws.append([file])`来添加数据,其中`file`是一个包含单个元素的列表,即文件名。 6. **保存Excel文件**:最后,使用`wb.save(output_file)`将包含所有Excel文件名的工作簿保存到指定路径。 #### 四、扩展与优化 1. **错误处理**:在实际应用中,添加错误处理机制(如try-except块)以捕获并处理可能出现的异常(如文件夹不存在、权限不足等)是非常重要的。 2. **递归与非递归**:虽然本例中使用了`os.walk()`以递归方式遍历文件夹,但在某些情况下,你可能只想处理指定文件夹中的文件而不包括子文件夹。这时,可以直接遍历`os.listdir(folder_path)`获取的文件列表。 3. **文件筛选**:根据需求,你可能还希望根据其他条件(如文件名中包含特定关键字)来筛选Excel文件。这可以通过在添加文件名到Excel之前添加额外的条件检查来实现。 4. **性能优化**:对于包含大量文件的文件夹,遍历和文件检查操作可能会比较耗时。在这种情况下,考虑使用多线程或多进程来加速处理过程。 5. **图形用户界面(GUI)**:为了进一步提高用户体验,可以考虑使用Tkinter、PyQt等Python GUI库来创建一个简单的图形界面,让用户能够选择文件夹和指定输出文件路径,而无需手动修改脚本中的硬编码路径。 通过上述步骤,你已经能够编写一个Python脚本来自动化提取文件夹中所有Excel工作簿的文件名,并将其保存到新的Excel文件中。这一技能对于处理大量Excel文件的工作流程来说是非常有价值的,能够显著提升工作效率和准确性。
下一篇:
案例02 批量新建并保存多个工作簿
该分类下的相关小册推荐:
ChatGPT中文教程
AI-Agent智能应用实战(上)
AI 大模型企业应用实战
大模型应用解决方案-基于ChatGPT(中)
ChatGPT与提示工程(下)
人工智能基础——基于Python的人工智能实践(上)
AI 绘画核心技术与实战
人工智能技术基础(下)
AI训练师手册:算法与模型训练从入门到精通
人工智能基础——基于Python的人工智能实践(中)
生成式AI的崛起:ChatGPT如何重塑商业
AI降临:ChatGPT实战与商业变现(上)