如何通过Openpyxl将Workbook保存至指定目录?
解决Openpyxl Workbook.save() 保存到指定目录的问题
你完全可以通过filename参数指定完整路径来将文件保存到任意目录,不管是相对路径还是绝对路径都支持,以下是具体实现方法:
1. 使用相对路径保存到子目录
如果要保存到当前脚本所在目录的子文件夹,需要先确保目标目录存在(不存在则创建),示例代码:
import openpyxl import os # 定义目标文件的相对路径 save_path = "./excel_output/sample.xlsx" # 创建目标目录(如果不存在) os.makedirs(os.path.dirname(save_path), exist_ok=True) wb = openpyxl.Workbook() # 写入测试数据 active_sheet = wb.active active_sheet["A1"] = "这是测试内容" # 保存到指定路径 wb.save(filename=save_path)
2. 使用绝对路径保存到任意目录
直接传入完整的绝对路径即可,无需考虑脚本所在位置,示例:
Windows系统
import openpyxl # Windows绝对路径示例 save_path = "C:/Users/你的用户名/Documents/工作文件/sample.xlsx" wb = openpyxl.Workbook() wb.save(filename=save_path)
Linux/macOS系统
import openpyxl # Linux/macOS绝对路径示例 save_path = "/home/你的用户名/Documents/work_files/sample.xlsx" wb = openpyxl.Workbook() wb.save(filename=save_path)
注意事项
- 如果目标目录不存在,直接调用
save()会抛出文件找不到的错误,所以必须先用os.makedirs()创建目录,exist_ok=True参数可以避免目录已存在时的报错 - Windows路径中可以用
/作为分隔符,也可以用转义后的\\,推荐用/,跨平台兼容性更好
内容的提问来源于stack exchange,提问作者Masoud
相关产品推荐
相关产品推荐

