python xlsxwriter 工作表对象重用
python xlsxwriter worksheet object reuse
我编写了一些遍历平面文件的代码。阅读完某个部分后,我将数据放入电子表格中。然后,我返回并继续阅读下一节的平面文件并写入新的工作表...等等。
在遍历 python 代码时,我为上面阅读的每个部分创建了一个新工作表。在此循环期间,我创建了新的工作表:
工作表 = workbook.add_worksheet(名字)
问题是第二次通过循环时,python 在将上面的工作表对象重新分配给新工作表时崩溃。有没有办法"close the worksheet object",然后重新赋值?
仅供参考:如果我不能使用相同的对象名称,"worksheet" 在这种情况下,为了处理 "worksheet1"、[=26],代码将变得非常冗长和混乱=], "worksheet3", 等等...(如您所想)
提前致谢!
不是将变量 worksheet
分配给 workbook.add_worksheet(thename)
,而是使用一个名为 worksheets
的列表。当你通常做 worksheet = workbook.add_worksheet(thename)
时,做 worksheets.append(workbook.add_worksheet(thename))
。然后使用 worksheets[-1]
访问您的最新工作表。
The problem is that the second time through the loop, python crashes when re-assigning the worksheet object above to a new worksheet.
当 运行 XlsxWriter 程序时,Python 不应崩溃。如果是这样,您应该提交错误报告。
您可以通过几种不同的方式遍历工作表。例如,通过在循环中创建工作表:
import xlsxwriter
workbook = xlsxwriter.Workbook('test.xlsx')
for _ in range(4):
worksheet = workbook.add_worksheet()
worksheet.write('A1', 'Hello')
workbook.close()
或者通过在循环外创建工作表,然后使用 worksheets()
方法对其进行循环:
import xlsxwriter
workbook = xlsxwriter.Workbook('test.xlsx')
workbook.add_worksheet()
workbook.add_worksheet()
workbook.add_worksheet()
workbook.add_worksheet()
for worksheet in workbook.worksheets():
worksheet.write('A1', 'Hello')
workbook.close()
您还可以将工作表存储在列表中并对其进行迭代。那本质上就是用worksheets()
方法做的。
我编写了一些遍历平面文件的代码。阅读完某个部分后,我将数据放入电子表格中。然后,我返回并继续阅读下一节的平面文件并写入新的工作表...等等。
在遍历 python 代码时,我为上面阅读的每个部分创建了一个新工作表。在此循环期间,我创建了新的工作表:
工作表 = workbook.add_worksheet(名字)
问题是第二次通过循环时,python 在将上面的工作表对象重新分配给新工作表时崩溃。有没有办法"close the worksheet object",然后重新赋值?
仅供参考:如果我不能使用相同的对象名称,"worksheet" 在这种情况下,为了处理 "worksheet1"、[=26],代码将变得非常冗长和混乱=], "worksheet3", 等等...(如您所想)
提前致谢!
不是将变量 worksheet
分配给 workbook.add_worksheet(thename)
,而是使用一个名为 worksheets
的列表。当你通常做 worksheet = workbook.add_worksheet(thename)
时,做 worksheets.append(workbook.add_worksheet(thename))
。然后使用 worksheets[-1]
访问您的最新工作表。
当 运行 XlsxWriter 程序时,The problem is that the second time through the loop, python crashes when re-assigning the worksheet object above to a new worksheet.
Python 不应崩溃。如果是这样,您应该提交错误报告。
您可以通过几种不同的方式遍历工作表。例如,通过在循环中创建工作表:
import xlsxwriter
workbook = xlsxwriter.Workbook('test.xlsx')
for _ in range(4):
worksheet = workbook.add_worksheet()
worksheet.write('A1', 'Hello')
workbook.close()
或者通过在循环外创建工作表,然后使用 worksheets()
方法对其进行循环:
import xlsxwriter
workbook = xlsxwriter.Workbook('test.xlsx')
workbook.add_worksheet()
workbook.add_worksheet()
workbook.add_worksheet()
workbook.add_worksheet()
for worksheet in workbook.worksheets():
worksheet.write('A1', 'Hello')
workbook.close()
您还可以将工作表存储在列表中并对其进行迭代。那本质上就是用worksheets()
方法做的。