Python 创建 excel 文件

问题描述 投票:0回答:2

我试图在不删除用户配置的情况下生成 excel。 例如你可以在这里创建

新观点。并保存它。

但是当我用 pandas 或其他任何东西读取 excel 文件并生成 excel 时,“视图”将被删除。

有没有办法可以再次在 python 中创建视图?或者不删除视图?

我查看了其他一些库,如 openpyxl、xlswriter,但我没有找到任何可以做到这一点的选项。

python excel openpyxl xlsxwriter
2个回答
0
投票

Openpyxl 具有使用工作表视图的功能。我从来没有用过它,所以我不能给你细节。从理论上讲,它可以让您阅读和重建工作表视图。

据我所知,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)

如果您直接使用 openpyxl,那么

workbook.create_sheet(sheet_name)
会将新工作表附加到现有工作簿。

您可能会发现您必须使用 win32com,该模块使您可以访问 vba 在 Excel 中具有的某些功能。不过,Views 的文档似乎很少;我可以很容易地找到这两个地方:

https://learn.microsoft.com/en-us/office/vba/api/excel.window.sheetviews
https://learn.microsoft.com/en-us/office/vba/api/excel.sheetviews


0
投票

您可以使用模块in2xl。该模块纯粹用于在不更改文件的情况下将数据插入 Excel。 这意味着您的观点不会改变。

© www.soinside.com 2019 - 2024. All rights reserved.