为什么 pd.ExcelWriter 在设置 mode='a' 时如果不存在则无法创建新文件

why pd.ExcelWriter can't create new file if not exist when setting mode='a'

I've learned from Python - Files I/O mode='a':

Opens a file for appending. The file pointer is at the end of the file if the file exists. That is, the file is in the append mode. If the file does not exist, it creates a new file for writing.

所以我在哪里可以找到关于为什么 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"

.xlsx 文件是具有特定预定结构的 zip 文件。将任何内容附加到现有 .xslx 文件是没有意义的。 Excel 将忽略您附加的内容,或者根本拒绝打开文件。

如果您想将新工作表添加到现有 .xlsx 文件中,您将必须使用类似 openpyxl 的方式读取文件并自行修改其内部结构。

使用模式 "a" 调用 open() 适用于文本文件和简单的面向记录的二进制文件,在这些文件中将字节简单地附加到末尾是有意义的。更复杂的文件结构是应用程序的领域,而不是文件系统。