使用Pandas保存Excel至指定data目录遇OSError,求跨PC无绝对路径解决方案
解决Pandas保存Excel到data目录的目录不存在问题
错误原因很直接:你指定的data目录不存在,Pandas不会自动创建目标目录,因此抛出了OSError。
要解决这个问题,只需在保存文件前先检查并创建data目录,同时保持相对路径以适配不同PC,修改后的代码如下:
import pandas as pd from pandas import ExcelWriter import datetime import os # 创建data目录(如果不存在) data_dir = 'data' os.makedirs(data_dir, exist_ok=True) mydict = self._detailed_cost todays_date = datetime.datetime.now().strftime("%Y-%m-%d-%H%M") df = pd.DataFrame.from_dict(mydict, orient='index') # 拼接文件路径,自动适配系统路径分隔符 file_path = os.path.join(data_dir, f"{todays_date}-cost_function.xlsx") with ExcelWriter(file_path) as writer: df.to_excel(writer, 'costs', index=True)
关键说明
os.makedirs(data_dir, exist_ok=True):exist_ok=True参数确保如果data目录已存在,不会抛出错误,适配你每小时运行一次的程序场景os.path.join():自动适配Windows/Linux/macOS的路径分隔符,避免手动拼接路径导致的兼容性问题- 全程使用相对路径,无需依赖绝对路径,程序在任何PC上运行时,都会自动在当前工作目录下创建(或复用已有的)
data目录
内容的提问来源于stack exchange,提问作者Fabrice Seppey
相关产品推荐
相关产品推荐

