如何基于.xlsx文件生成含图片与TXT的指定文件夹结构?
Hey there! 完全不用依赖VBA,用Python就能轻松搞定这个需求——既灵活又不需要打开Excel,刚好你已经装了Python 3.6,完美适配。下面是一步步的解决方案:
实现步骤
1. 安装必备Python库
首先需要两个库:处理Excel文件的openpyxl,以及下载图片的requests。打开PowerShell,运行以下命令安装:
pip install openpyxl requests
如果Win7下安装报错,可指定兼容Python3.6的版本:
pip install requests==2.28.2 openpyxl==3.0.10
2. 编写Python脚本
假设你的Excel文件结构为:第一行是表头(比如文件夹名称、ProdDec、Collection、图片URL),从第二行开始是有效数据。脚本会读取前3条数据,生成对应文件夹并完成内容填充:
import os import requests from openpyxl import load_workbook # ---------------------- 配置参数,请根据你的文件修改 ---------------------- EXCEL_PATH = "你的文件路径.xlsx" # 替换成实际Excel文件路径(比如"C:\\data\\products.xlsx") TARGET_SHEET = "Sheet1" # 替换成你的工作表名称 # ------------------------------------------------------------------------- def process_item(folder_name, prod_dec, collection, img_url): # 创建目标文件夹(不存在则新建) if not os.path.exists(folder_name): os.makedirs(folder_name) print(f"✅ 已创建文件夹: {folder_name}") # 下载图片到文件夹 try: img_response = requests.get(img_url) img_response.raise_for_status() # 检查请求是否成功 img_save_path = os.path.join(folder_name, f"{folder_name}.png") with open(img_save_path, "wb") as img_file: img_file.write(img_response.content) print(f"✅ 已下载图片到: {img_save_path}") except Exception as e: print(f"❌ 图片下载失败 {img_url}: {str(e)}") # 创建包含生产说明和Collection的TXT文件 txt_content = f"生产说明(ProdDec): {prod_dec}\nCollection: {collection}" txt_save_path = os.path.join(folder_name, f"{folder_name}_info.txt") with open(txt_save_path, "w", encoding="utf-8") as txt_file: txt_file.write(txt_content) print(f"✅ 已创建说明文件: {txt_save_path}") # 读取Excel文件 workbook = load_workbook(EXCEL_PATH) sheet = workbook[TARGET_SHEET] # 读取前3条数据(跳过表头,取第2-4行) target_rows = list(sheet.iter_rows(min_row=2, max_row=4, values_only=True)) # 遍历每条数据执行处理 for index, row in enumerate(target_rows, 1): # 按Excel列顺序提取数据(可根据你的实际列顺序调整) folder_name, prod_dec, collection, img_url = row[:4] if not folder_name: print(f"⚠️ 第{index}条数据缺少文件夹名称,跳过") continue process_item(folder_name, prod_dec, collection, img_url) print("\n🎉 所有任务执行完成!")
3. 运行脚本
- 将脚本保存为
create_product_folders.py - 打开PowerShell,切换到脚本所在目录(比如
cd C:\\scripts) - 运行命令:
python create_product_folders.py
关键注意事项
- 确保Excel文件路径正确:如果文件和脚本在同一文件夹,直接写文件名即可;否则要写完整绝对路径(Windows路径用双反斜杠
\\) - 如果你的Excel列顺序不同,修改脚本中
row[:4]对应的取值顺序即可 - 图片URL必须是可直接访问的PNG链接,若需要代理,可在
requests.get()中添加代理参数
内容的提问来源于stack exchange,提问作者Rainer Zufall
相关产品推荐
相关产品推荐

