写入多个工作表

发布于 2025-01-24 23:51:59 字数 333 浏览 2 评论 0原文

我需要写入多个床单,其中存储在列表中的床单。 的代码

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)
    ....

以下是我要创建一个表格中每个对象 。上面的代码创建了带有所需名称的多张纸,但数据仅在第一张纸中存在。

I need to write to multiple sheets with sheets name stored in a list.
Below is my code

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)
    ....

For each object in list i want to create a sheet. Above code is creating multiple sheets with desired name but data is only present in the first sheet.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

终止放荡 2025-01-31 23:51:59

它应该按预期工作。

这是包裹在工作示例中的示例代码:

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()

输出

“在此处输入图像说明”

It should work as expected.

Here is your sample code wrapped into a working example:

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()

Output:

enter image description here

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文