繁体   English   中英

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

[英]python xlutils/xlwt/xlrd/excel - can't modify copied worksheets

我正在努力与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。 复制插入对原始对象中发现的对象的引用,而Deepcopy构造一个新的化合物,然后将原始对象中发现的对象的副本插入其中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM