Python调用Smartsheet如何下载文件到带当日日期戳的新建文件夹
解决方案
直接在原有代码中补充日期生成、文件夹自动创建逻辑即可,调整后可直接运行的完整代码:
import os import smartsheet from datetime import datetime token = os.environ['SMARTSHEET_ACCESS_TOKEN'] smartsheet_client = smartsheet.Smartsheet(token) smartsheet_client.errors_as_exceptions(True) # 生成YYYYMMDD格式当日日期戳 date_today = datetime.today().strftime("%Y%m%d") base_dir = "C:/Users/E29853/OneDrive/Smartsheets/Templates" # 拼接日期文件夹完整路径 save_dir = os.path.join(base_dir, date_today) # 日期文件夹不存在时自动创建,已存在则跳过不报错 os.makedirs(save_dir, exist_ok=True) # 导出文件到目标日期文件夹 smartsheet_client.Sheets.get_sheet_as_excel( 8729488427892475, save_dir, "Region.xlsx" )
逻辑说明
- 日期格式化规则
%Y%m%d对应4位年+2位月+2位日的命名格式,和要求的20220610这类文件夹名完全匹配 os.makedirs的exist_ok=True参数可以避免重复运行同日下载任务时,因文件夹已存在抛出路径异常- 用
os.path.join拼接路径可以自动适配不同系统的路径分隔符,减少硬编码路径带来的兼容问题
运行后导出的文件会自动存入对应日期的文件夹,例如2022年6月10日运行时,文件最终存储路径为C:/Users/E29853/OneDrive/Smartsheets/Templates/20220610/Region.xlsx,完全匹配预期存储规则。
内容的提问来源于stack exchange,提问作者Charles Shin
相关产品推荐
相关产品推荐

