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

如何在Azure Databricks中移动带动态日期命名的Excel文件

解决方法

你可以通过以下两种方案实现动态文件名传入shell命令:

方案1:直接在Python中执行shell命令(更推荐)

不需要使用%sh魔术命令,直接用Python的系统调用方法调用移动命令,可直接引用已定义的文件名变量,操作更简单:

import datetime
import os

# 你原有的动态文件名生成逻辑
test_2 = 'test' + datetime.today().strftime("%d%m%y") + '.xlsx'

# 直接执行移动命令
os.system(f"sudo mv {test_2} /dbfs/mnt/")

方案2:跨魔术命令传递变量(适用于必须使用%sh的场景)

如果需要单独使用%sh块执行命令,可以先将Python变量注册到Spark配置中,再在shell中引用:

  1. 先在Python代码块中存储变量到Spark上下文:
import datetime

test_2 = 'test' + datetime.today().strftime("%d%m%y") + '.xlsx'
# 自定义配置键名,避免和内置配置冲突
spark.conf.set("custom.excel.filename", test_2)
  1. 再在%sh块中引用该变量:
%sh
sudo mv ${custom.excel.filename} /dbfs/mnt/

注意事项

  • 你之前的示例移动命令中文件名后缀误写为xslx,实际应为xlsx,注意核对文件名避免移动失败
  • 确保Excel文件生成在Driver节点的当前工作目录,否则需要补全文件的绝对路径再执行移动

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 05:51:00