gpt4 book ai didi

python xlutils/xlwt/xlrd/excel - 无法修改复制的工作表

转载 作者:太空宇宙 更新时间:2023-11-04 06:11:15 32 4
gpt4 key购买 nike

我正在使用 xlutils 并复制工作表。下面的代码成功复制了第一个工作表并添加了 2 个副本,但是当我写入每个工作表时,它会将更改应用于所有工作表副本以及原始工作表。

因此在下面的示例中,所有 3 个工作表的第 3 行第 0/1 列的值为“test2”。

有谁知道我在这里做错了什么?我还尝试添加每个克隆,然后尝试 workbook.get_sheet(id).write(x,x,x) 并发生完全相同的事情。

workbook = xlutils.copy.copy(xlrd.open_workbook(xls_out, formatting_info=True))
tmp_workbook = copy(workbook)

copied_sheet = copy(tmp_workbook.get_sheet(0))
copied_sheet.set_name("tmpsheet")
copied_sheet.write(3, 0, 'test1')
copied_sheet.write(3, 1, 'test1')
workbook._Workbook__worksheets.append(copied_sheet)

copied_sheet = copy(tmp_workbook.get_sheet(0))
copied_sheet.set_name("tmpsheet2")
copied_sheet.write(3, 0, 'test2')
copied_sheet.write(3, 1, 'test2')
workbook._Workbook__worksheets.append(copied_sheet)

workbook.save(xls_out)

最佳答案

利用深拷贝。复制插入对在原始对象中找到的对象的引用,deepcopy 构造一个新的复合体,然后将在原始对象中找到的对象的副本插入其中。

关于python xlutils/xlwt/xlrd/excel - 无法修改复制的工作表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18624352/

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