将数据框写入指定path的excel文件

I have a dataframe df = pd.DataFrame({'Data': [10, 20, 30, 20, 15, 30, 45]}) This is working : writer = pd.ExcelWriter('pandas_simple.xlsx', engine='xlsxwriter') df.to_excel(writer, sheet_name='Sheet1') writer.save() but when I try out_path = "C:\Users\Bala\output\temp-excel.xlsx" writer = pd.ExcelWriter(out_path , engine='xlsxwriter') df.to_excel(writer, sheet_name='Sheet1') writer.save() 

我得到错误:IOError:[Errno 22] invalid mode('wb')or filename:'C:\ Users \ Bala Nadella \ output \ temp-excel.xlsx'。

如何在给定的path中创build文件。

string文字

研究该链接中的表格。 你需要用'\\'来逃避你的'\'。 部分地说,DOS负责这个世界的混乱。

 out_path = "C:\\Users\\Bala\\output\\temp-excel.xlsx" 

要么

 out_path = r"C:\Users\Bala\output\temp-excel.xlsx" # the `r` prefix means raw string 

但最好的select是这样的:

 out_path = "C:/Users/Bala/output/temp-excel.xlsx" 

它将在任何平台上工作。


使用os.path.abspath编辑删除解决scheme。 在回答下面的评论之后,我自己阅读了文档,并意识到它有不同的目的。 尽pipe我过去使用它来使我的代码对操作系统友好,因为它将CWD整齐地附加到path上,并且在从Debian移动到Windows时改变/ \\ ,反之亦然。

在一个string中,反斜杠是一个转义字符。 这意味着你正在给一个特殊的命令,而不是一个普通的字符。 例如。 "Hello\nWorld"意思是在"Hello""World"之间加一个换行符。

如果你真的想使用反斜杠作为字符,请input"\\"

或者更好,只需使用正斜杠!