Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用python将现有excel工作表附加到新的数据框中,而不加载旧的数据框_Python_Python 3.x_Pandas_Openpyxl - Fatal编程技术网

使用python将现有excel工作表附加到新的数据框中,而不加载旧的数据框

使用python将现有excel工作表附加到新的数据框中,而不加载旧的数据框,python,python-3.x,pandas,openpyxl,Python,Python 3.x,Pandas,Openpyxl,这是一个老问题,但是没有人在不加载excel文件的情况下编写解决方案。假设excel文件太大,加载现有文件并保存在其上的效率将很低。相反,有没有像普通文件那样的附加方法 df是我想附加的数据帧 df.to_excel(folder+"file.xlsx", header=False, index=False) 但是,file.xlsx存在,并且存在另一个具有相同标头的df 如何在不加载文件.xlsx的情况下将df附加到现有文件.xlsx?我不知道Openpyxl中有任何附加功能。但是Openp

这是一个老问题,但是没有人在不加载excel文件的情况下编写解决方案。假设excel文件太大,加载现有文件并保存在其上的效率将很低。相反,有没有像普通文件那样的附加方法

df是我想附加的数据帧

df.to_excel(folder+"file.xlsx", header=False, index=False)
但是,file.xlsx存在,并且存在另一个具有相同标头的df


如何在不加载文件.xlsx的情况下将df附加到现有文件.xlsx?

我不知道Openpyxl中有任何附加功能。但是Openpyxl有一个
wb=Workbook(write\u only=True)

我会尝试将数据框保存(并附加)为二进制文件,然后删除并创建一个新的工作簿,使用
write\u only
模式

这应该比加载和附加Excel文件快得多,但这取决于数据的类型和数量


希望这有帮助

您好,如果您还没有查看,您可能会查看这篇文章。我看了一下:“#尝试打开现有工作簿writer.book=load_工作簿(文件名)”我不需要加载现有文件。如果您想附加到现有工作表,您必须将其加载到内存中。这是无法避免的。是的,我就是这么想的。如果找不到解决方案,我将遵循此解决方案。您也可以尝试直接附加到excel文件。但是,因为没有(据我所知)解决方案,所以您必须将其存储为无压缩的zip(存储模式)。然后,您可能能够向后读取zip文件,直到到达xml部分并插入数据为止。但实施起来要复杂得多。