gpt4 book ai didi

python - 如何使用 Python 以编程方式将行添加到现有 Excel 表

转载 作者:行者123 更新时间:2023-12-04 20:51:43 26 4
gpt4 key购买 nike

尽管有各种 Python Excel 操作库和资源,但我无法找到特定的解决方案。

现在,我有一个包含表格的模板 Excel 文件。我想编写一个 Python 程序来填充此表。任何现有的 Excel 库都可以做到这一点吗?模板 Excel 文件有一张带有空表的工作表(第一个屏幕截图)。我想以编程方式用其他地方的一些数据填充表。例如

Initial Excel empty table

data = [("TS0001", "1.0 Administration", "Root", "vdouk", "15/09/19", 8.0, "example 1"),
("TS0002", "1.0 Administration", "Root", "vdouk", "16/09/19", 3.0, "example 2"),
("TS0003", "4.0 Simulations", "Root", "vdouk", "16/09/19", 5.0, "example 3")]

因此,我最终想要看起来像第二张截图。总条目和小计是根据适当的 Excel 单元格函数(已定义)自动计算的。最后要注意的是,这个表是从工作簿的其他部分引用的,也就是说它是一个命名的数据源(在Excel名称管理器中看到),所以定义一个新表会在其他地方出现问题。有人可以指导我找到最合适的解决方案吗?

Final table example

这是工作逻辑。

  1. 打开现有的 Excel 文件。
  2. 不要更改任何格式。
  3. 不要删除任何现有数据。
  4. 用新行更新 excel 文件:
    1. 在标题行下方插入所有新行。
    2. 确保这会将新行作为现有表格的一部分。
  5. 保存并关闭 excel 文件。

更新

现在,我正在使用 openpyxl。我所做的解决方法是编辑模板 .xlsx 并将空行添加到表中。然后我使用 openpyxl 编写与我的数据元组一样多的行。表格总计似乎有效,但其他一些 excel 宏似乎出现问题。

最佳答案

您不能使用任何现有的 Python 模块更新 excel 文件,但您可以使用 Openpyxl 模块覆盖现有文件。

借助 Openpyxl 模块,您可以读取内存中的现有工作表,添加新内容并将其保存回同一文件:

from openpyxl import load_workbook
#Open an xlsx
wb = load_workbook(filename = 'data.xlsx')
#Get the current Active Sheet
ws = wb.get_active_sheet()
#ws = wb.get_sheet_by_name("Sheet1")
# Get the row and column index in which you are going to write
ws.cell(1,1).value = 'your_value'
# save() will override existing file
wb.save('data.xlsx')

关于python - 如何使用 Python 以编程方式将行添加到现有 Excel 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57953465/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com