我从Python - Files I/O
mode='a'
中学到了打开一个文件进行追加。如果文件存在,则文件指针位于文件的末尾。也就是说,文件处于附加模式。如果该文件不存在,它将创建一个新文件进行写入。
那么在哪里可以找到关于为什么pd.ExcelWriter(
mode ='a )
无法创建文件(如果文件不存在)的解释呢?
如果pd.ExcelWriter('path+filename', mode='a')
未创建新文件。还有其他更好的方法吗?
我能找到的唯一方法是
if os.path.exists(filename):
with pd.ExcelWriter(filename, mode='a') as writer:
"blabla"
else:
with pd.ExcelWriter(filename, mode='w') as writer:
"blabla"
答案 0 :(得分:0)
.xlsx
文件是具有特定预定结构的zip文件。将任何内容附加到现有.xslx
文件中没有任何意义。 Excel要么忽略您添加的内容,要么根本拒绝打开文件。
如果要将新的工作表添加到现有的.xlsx
文件中,则必须使用openpyxl
之类的文件来读取文件并自行修改其内部结构。
使用模式open()
调用"a"
是针对文本文件和直接面向记录的二进制文件,在这种情况下,将字节简单地添加到末尾是有意义的。更复杂的文件结构是应用程序的范围,而不是文件系统。