Openpyxl has the functionality to use Sheet Views。我从来没有用过它,所以我不能给予你细节。理论上它可以让你阅读和重建一个工作表视图。 据我所知,Pandas并不包含这个功能,它所拥有的是最近的一项功能(在openpyxl中也有),可以添加到现有的Excel工作簿中,而不是覆盖。 如果您有一个工作表视图指向一个特定的工作表,并正在添加/编辑一个 * 不同 * 的工作表,您可以使用这个,它不应该影响工作表视图。 如果你正在编辑工作表视图所指向的工作表,那么你需要使用Openpyxl重新构建视图(但是如果对你来说更容易的话,你仍然可以使用Pandas来初始化它)。 在Pandas中追加的代码是:
# use ExcelWriter rather than using to_Excel directly in order to give access to the append & replace functions
with pd.ExcelWriter("data.xlsx", engine="openpyxl", mode="a", if_sheet_exists="replace") as writer:
df.to_excel(writer, 'My Data', index=False)
2条答案
按热度按时间axkjgtzd1#
Openpyxl has the functionality to use Sheet Views。我从来没有用过它,所以我不能给予你细节。理论上它可以让你阅读和重建一个工作表视图。
据我所知,Pandas并不包含这个功能,它所拥有的是最近的一项功能(在openpyxl中也有),可以添加到现有的Excel工作簿中,而不是覆盖。
如果您有一个工作表视图指向一个特定的工作表,并正在添加/编辑一个 * 不同 * 的工作表,您可以使用这个,它不应该影响工作表视图。
如果你正在编辑工作表视图所指向的工作表,那么你需要使用Openpyxl重新构建视图(但是如果对你来说更容易的话,你仍然可以使用Pandas来初始化它)。
在Pandas中追加的代码是:
如果你直接使用openpyxl,那么
workbook.create_sheet(sheet_name)
会在现有的工作簿上添加一个新的工作表。你可能会发现你不得不使用win32 com,一个模块,它可以让你访问Excel中vba的一些功能。我能轻易找到这两个人
https://learn.microsoft.com/en-us/office/vba/api/excel.window.sheetviews
https://learn.microsoft.com/en-us/office/vba/api/excel.sheetviews
ohtdti5x2#
您可以使用模块in2xl。该模块纯粹用于在不更改文件的情况下将数据插入Excel。这意味着您的视图不会更改。