使用 XlsxWriter 对行进行分组
Grouping lines with XlsxWriter
我正在用 Python 和 XlsxWriter 编写一个 Excel 文件,我想在其中将元素分组为 2 个级别。几个 'boards' 包含按 'list' 分组的元素。我想将相同 'list' 的所有元素和 'board' 的所有元素组合在一起。
经过多次尝试,我没有成功得到以下结果:
谁能帮我理解下面函数的工作原理:
worksheet.set_row(1, None, None, {'level': 1})
我已按照文档中给出的 example 进行操作,但我不知道要在每行上设置什么级别才能使 2 个分组级别按预期工作。
您可以按照以下与屏幕截图的第一部分相匹配的方式进行操作。
import xlsxwriter
workbook = xlsxwriter.Workbook('outline.xlsx')
worksheet = workbook.add_worksheet()
worksheet.set_row(1, None, None, {'level': 2})
worksheet.set_row(2, None, None, {'level': 1})
worksheet.set_row(3, None, None, {'level': 2})
worksheet.set_row(4, None, None, {'level': 2})
worksheet.set_row(5, None, None, {'level': 2})
worksheet.set_row(6, None, None, {'level': 1})
worksheet.set_row(8, None, None, {'level': 2})
worksheet.set_row(9, None, None, {'level': 1})
worksheet.set_row(12, None, None, {'level': 2})
worksheet.set_row(13, None, None, {'level': 2})
worksheet.set_row(14, None, None, {'level': 2})
worksheet.set_row(15, None, None, {'level': 2})
worksheet.set_row(16, None, None, {'level': 1})
worksheet.set_row(17, None, None, {'level': 1})
worksheet.set_row(18, None, None, {'level': 2})
worksheet.set_row(19, None, None, {'level': 2})
worksheet.set_row(20, None, None, {'level': 2})
worksheet.set_row(21, None, None, {'level': 1})
workbook.close()
输出:
诀窍是在需要连续分组的地方填写第 1 级行。请注意,在示例中,第 1-6、8-9 和 12-21 行(零索引)中有值。
更新:添加了第 12-23 行分组以响应下面的 follow-on 问题。图片也更新了。
我正在用 Python 和 XlsxWriter 编写一个 Excel 文件,我想在其中将元素分组为 2 个级别。几个 'boards' 包含按 'list' 分组的元素。我想将相同 'list' 的所有元素和 'board' 的所有元素组合在一起。
经过多次尝试,我没有成功得到以下结果:
谁能帮我理解下面函数的工作原理:
worksheet.set_row(1, None, None, {'level': 1})
我已按照文档中给出的 example 进行操作,但我不知道要在每行上设置什么级别才能使 2 个分组级别按预期工作。
您可以按照以下与屏幕截图的第一部分相匹配的方式进行操作。
import xlsxwriter
workbook = xlsxwriter.Workbook('outline.xlsx')
worksheet = workbook.add_worksheet()
worksheet.set_row(1, None, None, {'level': 2})
worksheet.set_row(2, None, None, {'level': 1})
worksheet.set_row(3, None, None, {'level': 2})
worksheet.set_row(4, None, None, {'level': 2})
worksheet.set_row(5, None, None, {'level': 2})
worksheet.set_row(6, None, None, {'level': 1})
worksheet.set_row(8, None, None, {'level': 2})
worksheet.set_row(9, None, None, {'level': 1})
worksheet.set_row(12, None, None, {'level': 2})
worksheet.set_row(13, None, None, {'level': 2})
worksheet.set_row(14, None, None, {'level': 2})
worksheet.set_row(15, None, None, {'level': 2})
worksheet.set_row(16, None, None, {'level': 1})
worksheet.set_row(17, None, None, {'level': 1})
worksheet.set_row(18, None, None, {'level': 2})
worksheet.set_row(19, None, None, {'level': 2})
worksheet.set_row(20, None, None, {'level': 2})
worksheet.set_row(21, None, None, {'level': 1})
workbook.close()
输出:
诀窍是在需要连续分组的地方填写第 1 级行。请注意,在示例中,第 1-6、8-9 和 12-21 行(零索引)中有值。
更新:添加了第 12-23 行分组以响应下面的 follow-on 问题。图片也更新了。