You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python基于Excel表格D列批量创建文件夹?

批量从Excel D列创建文件夹的Python解决方案

嘿,作为Python新手能写出单单元格创建文件夹的代码已经很棒啦!要实现批量处理其实很简单,核心就是遍历Excel里D列所有有内容的行,然后逐个创建文件夹就行。我帮你修改了代码,还加了一些实用的容错处理,一起来看看:

问题分析

你当前的代码只读取了D2单元格的值,所以只能创建一个文件夹。我们需要从第二行开始(因为第一行是表头Folder Name),遍历D列所有包含文件夹名称的单元格,然后依次创建对应的文件夹。

改进后的完整代码

import os
import openpyxl

def folder_creation(EXCEL_FILE_DIRECTORY, FOLDER_CREATION_LOCATION, EXCEL_FILE_NAME):
    # 切换到Excel文件所在目录
    os.chdir(EXCEL_FILE_DIRECTORY)
    
    # 加载Excel工作簿
    workbook = openpyxl.load_workbook(EXCEL_FILE_NAME)
    sheet = workbook['Sheet1']  # 推荐用这种方式获取工作表,get_sheet_by_name已经被废弃啦
    
    # 遍历D列从第二行开始的所有单元格(跳过表头)
    for row in range(2, sheet.max_row + 1):
        # 获取当前行D列的单元格值
        folder_name = sheet[f'D{row}'].value
        
        # 跳过空单元格,避免创建空文件夹
        if not folder_name:
            continue
        
        # 拼接完整的文件夹路径
        full_folder_path = os.path.join(FOLDER_CREATION_LOCATION, folder_name)
        
        # 创建文件夹,exist_ok=True表示如果文件夹已存在就不报错
        os.makedirs(full_folder_path, exist_ok=True)
        print(f"\n文件夹已创建(或已存在):{full_folder_path}")

# 示例调用(记得替换成你自己的路径和文件名)
folder_creation(
    EXCEL_FILE_DIRECTORY=r"C:\你的Excel文件所在目录",
    FOLDER_CREATION_LOCATION=r"C:\要创建文件夹的目标目录",
    EXCEL_FILE_NAME="你的Excel文件名.xlsx"
)

关键改进点说明

  • 遍历所有行:用range(2, sheet.max_row + 1)从第二行开始遍历到最后一行,确保不会漏掉任何有内容的单元格。
  • 容错处理:
    • 跳过空单元格:如果D列某个单元格是空的,就跳过,避免创建名称为空的文件夹。
    • exist_ok=True:如果某个文件夹已经存在,不会抛出错误,而是直接跳过(适合重复运行脚本的场景)。
  • 废弃方法替换:把get_sheet_by_name换成了更推荐的workbook['Sheet1'],因为前者在新版本openpyxl里已经被标记为废弃了。

小提示

  • 记得把示例调用里的路径和文件名替换成你自己的实际信息,路径前面加r是为了避免转义字符的问题。
  • 如果你的Excel里Folder Name表头不在D列,也可以改成遍历所有行找表头列,不过你明确说是D列,所以直接用D列就好啦。

内容的提问来源于stack exchange,提问作者Lex Dunko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 09:40:57