我有一个数据框,想要将其导出到Excel。我是Python和Pandas的新手,所以需要在这个简单的任务上得到一些帮助。
df2.to_excel('C:\BT\stack_test3.xlsx')
错误信息:
IOError: [Errno 13] 权限被拒绝:'C:\BT\stack_test3.xlsx'
我有一个数据框,想要将其导出到Excel。我是Python和Pandas的新手,所以需要在这个简单的任务上得到一些帮助。
df2.to_excel('C:\BT\stack_test3.xlsx')
您的路径不正确,因为您没有转义斜杠,它认为您正在尝试写入C:驱动器的根目录,请使用以下内容:
df2.to_excel(r'C:\BT\stack_test3.xlsx')
r
会将路径转换为原始字符串,这意味着您不需要转义斜杠。
编辑
看起来在使用 openpyxl
时出现了一些错误。df2.to_excel(r'C:\BT\stack_test3.xls')
使用xlwt
的作品,我对这些包不太了解,所以可能是openpyxl
存在权限问题,但我没有找到任何相关信息或是一个bug。
c:\
,如果你喜欢磁盘驱动器的根或基础,Vista 及以上版本可能不允许应用程序写入系统磁盘的根目录,除非它具有足够的特权。 - EdChumprint len('A\B\C')
。与 print len('C:\b\a')
进行比较。 - 7studto_csv'而没有使用
r前缀,结果出现了
[Errno 22] invalid mode ('w') or filename错误,添加
r前缀可以解决这个问题。顺便说一下,如果不使用
r前缀展开路径,则中间的斜杠不会被展开,因此c:\\BT\stack_test3.xlsx将被显示。如果添加
r`前缀无法解决您的问题,那么我将删除我的答案。 - EdChum我曾经遇到过同样的问题。原来是因为在我尝试写入Excel文件时,它仍然保持打开状态。显然,它不喜欢这样的做法。如果你的文件仍然处于打开状态,请尝试关闭它。
为了确认,在您继续操作之前,请确保您尝试保存的Excel文件未被打开,或者为了安全起见,关闭所有Excel并再次尝试保存。
这样应该就可以了。
你应该写入另一个驱动器,比如'D:',因为在Windows Vista或更高版本的操作系统中,你没有权限写入'C:\',而且也没有理由去获取这个权限。
关闭所有Excel实例并运行Python代码后,程序可以正常工作。
df2.to_excel(r'C:\BT\stack_test3.xlsx')
吗?因为我认为你的路径是错误的,而且Python认为你正在写入c:
,因为你的反斜杠没有被转义。 - EdChumr
前缀是否解决了您的问题? - EdChum.xls
,.xlsx使用openpyxl,而.xls
扩展名使用xlwt,有趣的是看看这是否是两个库都存在的问题。 - EdChum