如何更新现有的 excel .ods 文件?

How to update an existing excel .ods file?

一旦我从 .xls 文件中的 sheet 读取数据。我想将该数据放在扩展名为 .ods 的现有 excel 文件中的 sheet 中,而不更改 excel 文件中的任何其他内容。我试过 openpyxl 但它不支持 .ods 文件所以我尝试使用 pyexcel-ods3 但我仍然不确定如何使用 pyexcel-ods3 更新现有的 .ods 文件。

这是我试过的代码,但它用于编写新的 .ods excel 文件,而不是用于更新现有文件

from pyexcel_ods3 import save_data

data = OrderedDict()  # from collections import OrderedDict
data.update({"Sheet 1": [[1, 2, 3], [9, 5, 6]]})
data.update({"Sheet 2": [["row 1", "row 2", "row 3"]]})
save_data("your_file.ods", data)

我试图在 pyexcel-ods3 doc 中找到更新代码,但找不到任何东西。

pyexcel-ods3 中是否有代码请告诉我。如果可以完成此任务,我也愿意尝试任何新软件包。我的 python 版本是 3.9.1 .

您加载原始文件并不是为了更改它。

库未检测到您要更改现有文件,如果您使用现有文件的名称保存文件,它将覆盖现有文件。

为了修改一个文件,您需要加载它,可能会在内存中重新创建结构,并进行更改,然后将其保存回文件系统。

相关代码from the link you posted是:

from pyexcel_ods3 import get_data

data = get_data("your_file.ods")

You can find that section here

我说“可能在内存中重新创建结构”的原因是因为不能保证它会加载格式等 - 例如,有时 openpyxl 会删除格式并且只处理值。