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]无效模式(' wb')或文件名:' C:\ Users \ Bala Nadella \ output \ temp-excel。 XLSX&#39 ;.
如何在给定路径中创建文件。
答案 0 :(得分:9)
研究该链接中的表格。你需要逃避你的' \'用' \\'。部分地,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
但最好的选择是:
out_path = "C:/Users/Bala/output/temp-excel.xlsx"
它适用于任何平台。
已修改为使用os.path.abspath
删除解决方案。在这个回答下面的评论之后,我自己阅读了文档,并意识到它有不同的目的。虽然我过去使用它来使我的代码对操作系统友好,因为它巧妙地将CWD添加到路径中,并在从Debian移动到Windows时将/
更改为\\
,反之亦然。
答案 1 :(得分:4)
在字符串中,反斜杠是转义字符。这意味着你要给出一个特殊的命令,而不是一个普通的角色。例如。 "Hello\nWorld"
表示在"Hello"
和"World"
之间添加换行符。
如果您确实想要使用反斜杠作为字符,请将其键入"\\"
。
或者更好的是,只需使用正斜杠!