首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python xlutils/xlwt/xlrd/excel -无法修改复制的工作表

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

Stack Overflow用户
提问于 2013-09-05 05:48:39
回答 1查看 647关注 0票数 2

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

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

有人知道我哪里做错了吗?我还尝试添加每个克隆,然后尝试workbook.get_sheet(id).write(x,x,x),结果发生了完全相同的事情。

代码语言:javascript
复制
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)
EN

回答 1

Stack Overflow用户

发布于 2014-03-05 21:37:27

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18624352

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档