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

标签 python excel xls xlwt

我必须编写一个非常烦人的脚本,该脚本使用一个 Excel 文件来更新另一个文件,但因为您无法直接编辑 xls 文件,也无法插入行,所以我不得不即兴创作。

现在我的问题是: 使用 Python 的 xlwt 模块(使用 2.7x),当您创建工作簿并对其进行处理时,如何写入在不同函数中创建的同一工作表?我可以直接传递工作簿及其变量名称吗?如果是这样,我如何访问我制作的第一个工作表,workbook[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")

关于python - 您可以在不同的函数中使用 xlwt 工作簿的同一实例吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11957609/

相关文章:

python - 类型错误 : 'str' object is not callable in MySQL

java - 无法将 MS-Excel 列粘贴到 SWT 的文本小部件中

excel - 修改现有的关键字代码以包含多个搜索

mysql - 运行时错误 3001 'Arguments are of the wrong type or out of acceptable range…' 插入 MySQL 数据库

java - 从Excel文件中读取数据

linux - 有什么工具可以在 Linux 上将 PDF 转换为 XL?

python - Keras 预测()值错误 : input doesn't have the correct dimension

python - 无法从 python 将记录插入 Sqlite,语法错误

python - 如何将驻留在同一模块上的另一个类的实例分配给类属性

java - 如何在Excel工作表中查找表格数据