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

如何基于.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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 06:37:43