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

如何通过Python的xlsxwriter Workbook对象获取Excel工作簿路径?

获取XlsxWriter Workbook对象的文件路径

嘿,这个问题问得很到位!我之前也纠结过xlsxwriter有没有类似VBA里Workbook.Path的属性,刚好可以给你讲讲:

xlsxwriter的Workbook对象并没有直接提供一个叫Path的属性,但我们可以通过它内置的filename属性结合路径处理工具来实现相同的效果,比你之前用os.getcwd()拼接的方式更规范:

方法1:获取完整文件路径

Workbook实例的filename属性会保存你创建对象时传入的文件名(不管是相对路径还是绝对路径)。如果是相对路径,用os.path.abspath()就能转换成当前工作目录下的绝对路径:

import xlsxwriter
import os

myName = 'hello.xlsx'
wbk = xlsxwriter.Workbook(myName)

# 获取完整文件路径
full_file_path = os.path.abspath(wbk.filename)
print(full_file_path)  # 输出结果和os.getcwd()+'\\'+myName完全一致

方法2:仅获取文件所在目录(对应VBA的wbk.Path)

如果你只需要文件所在的文件夹路径,和VBA里Workbook.Path的功能匹配,可以用os.path.dirname()处理上面的完整路径:

# 获取文件所在目录路径
file_dir_path = os.path.dirname(os.path.abspath(wbk.filename))
print(file_dir_path)  # 这就等价于VBA里的wbk.Path

额外说明

  • 如果你创建Workbook时传入的是绝对路径(比如C:\\docs\\hello.xlsx),那wbk.filename本身就是绝对路径,直接使用即可,不需要再用abspath转换。
  • 用os.path模块的方法处理路径更跨平台,能自动适配Windows和Linux/macOS的路径分隔符,比手动拼接字符串更可靠。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 07:47:41