[英]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.