如何使用Python通过Google Spreadsheet创建目录
如何用Python读取Google Sheets数据创建指定结构目录
要实现从Google Sheets提取数据并批量创建指定结构的目录,核心是先获取云端表格数据,再按规则生成目录路径并创建。以下是修正后的完整实现方案:
原代码问题说明
你的代码存在几个关键问题:
- 导入了pandas但未使用,反而读取本地CSV文件,没有用到Google Sheets的数据
- 字段名拼写错误:
assest_name应为asset_name os.makedirs未添加exist_ok参数,重复创建目录会触发异常- 循环外的目录判断逻辑错误,
os.removedirs会递归删除空目录,不符合需求
修正后的实现代码
import os import pandas as pd # Google Sheets的表格ID sheet_id = '1kUvTVkvMJOJ6Mqo7h3F_acUMsErulZvpMGTyWQxeaQM' # 直接从Google Sheets导出CSV并读取为DataFrame df = pd.read_csv(f"https://docs.google.com/spreadsheets/d/{sheet_id}/export?format=csv") # 根目录路径(用r前缀避免转义问题) root = r'D:/Project/Zee/SRGMP/Production/3D' # 遍历表格中的每一行数据 for _, row in df.iterrows(): set_name = row['set_name'] # 修正拼写错误:assest_name -> asset_name asset_name = row['asset_name'] # 固定需要创建的子目录 fixed_subfolders = ['wip', 'export'] for folder in fixed_subfolders: # 用os.path.join拼接路径,适配不同系统的路径分隔符 target_path = os.path.join(root, set_name, 'asset', asset_name, folder) # 创建目录,exist_ok=True允许目录已存在时不报错 os.makedirs(target_path, exist_ok=True) print(f"目录创建完成: {target_path}")
关键细节说明
- 读取Google Sheets数据:通过Google Sheets的CSV导出链接直接获取数据,无需手动下载表格
- 路径拼接:使用
os.path.join代替字符串拼接,自动适配Windows/macOS/Linux的路径格式 - 安全创建目录:
exist_ok=True参数确保目录已存在时不会抛出异常,避免重复执行脚本时报错 - 字段名修正:修正了原代码中
assest_name的拼写错误,确保能正确读取表格中的字段
内容的提问来源于stack exchange,提问作者Rishi Singh
相关产品推荐
相关产品推荐

