簡體   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