写入多个工作表
Write to multiple worksheets
我需要将 sheet 的名字存储在一个列表中并写入多个 sheet。
下面是我的代码
for row_num, obj in enumerate(list,1):
sheet = workbook.add_worksheet(obj.Attribute1)
sheet.write(row_num, 0, obj.Attr1)
sheet.write(row_num, 1, obj.Attr2)
sheet.write(row_num, 2, obj.Attr3)
....
我想为列表中的每个对象创建一个 sheet。上面的代码正在创建多个具有所需名称的 sheet,但数据仅存在于第一个 sheet.
中
它应该按预期工作。
这里是你的示例代码封装到一个工作示例中:
import xlsxwriter
class MyObj:
def __init__(self, id):
self.Attribute1 = 'Sheet%s' % id
self.Attr1 = 'Attr1'
self.Attr2 = 'Attr2'
self.Attr3 = 'Attr3'
obj_list = []
for id in range(1, 4):
my_obj = MyObj(id)
obj_list.append(my_obj)
workbook = xlsxwriter.Workbook('test.xlsx')
for row_num, obj in enumerate(obj_list, 1):
sheet = workbook.add_worksheet(obj.Attribute1)
sheet.write(row_num, 0, obj.Attr1)
sheet.write(row_num, 1, obj.Attr2)
sheet.write(row_num, 2, obj.Attr3)
workbook.close()
输出:
我需要将 sheet 的名字存储在一个列表中并写入多个 sheet。 下面是我的代码
for row_num, obj in enumerate(list,1):
sheet = workbook.add_worksheet(obj.Attribute1)
sheet.write(row_num, 0, obj.Attr1)
sheet.write(row_num, 1, obj.Attr2)
sheet.write(row_num, 2, obj.Attr3)
....
我想为列表中的每个对象创建一个 sheet。上面的代码正在创建多个具有所需名称的 sheet,但数据仅存在于第一个 sheet.
中它应该按预期工作。
这里是你的示例代码封装到一个工作示例中:
import xlsxwriter
class MyObj:
def __init__(self, id):
self.Attribute1 = 'Sheet%s' % id
self.Attr1 = 'Attr1'
self.Attr2 = 'Attr2'
self.Attr3 = 'Attr3'
obj_list = []
for id in range(1, 4):
my_obj = MyObj(id)
obj_list.append(my_obj)
workbook = xlsxwriter.Workbook('test.xlsx')
for row_num, obj in enumerate(obj_list, 1):
sheet = workbook.add_worksheet(obj.Attribute1)
sheet.write(row_num, 0, obj.Attr1)
sheet.write(row_num, 1, obj.Attr2)
sheet.write(row_num, 2, obj.Attr3)
workbook.close()
输出: