你可以在不同的函数中使用xlwt工作簿的同一个实例吗?

我必须编写一个非常恼人的脚本,使用一个Excel文件来更新另一个,但是因为你不能直接编辑一个xls文件,也不能插入行,所以我不得不即兴发挥。

现在我的问题是:使用Python的xlwt模块(使用2.7x),当你创build一个工作簿,并正在处理它,如何写一个不同的函数创build相同的工作表? 我是否可以通过variables名来回传递工作簿? 如果是这样,我如何访问我制作的第一张工作表,工作簿[0]?

我有多个函数需要与我所制作的这个xlwt xls文件进行交互,所以我只想确保我可以将它传递给不同的函数。

谢谢!

…是

import xlwt class MyWorkbook: ''' allow access to a workbooks sheets''' def __init__(self,*args,**kwargs): self.wb = xlwt.Workbook(*args,**kwargs) self.sheets = [] def add_sheet(self,sheet_name): self.sheets.append(self.wb.add_sheet(sheet_name)) return self.sheets[-1] def GetSheetByIndex(self,n): return self.sheets[n] def save(self,fname_or_stream): return self.wb.save(fname_or_stream) def CreateWB(): ''' return a MyWorkbook instance with 1 sheet''' m= MyWorkbook() m.add_sheet("first_sheet") return m def ModifySheet0(mwb): '''uses instance of MyWorkbook and modifies sheet0''' s = mwb.GetSheetByIndex(0) s.write(0,0,"Hello World!") def DoItAll() '''passing around MyWorkbook''' wb = CreateWB() ModifySheet0(wb) wb.save("somefile.xls")