首页 > 解决方案 > 如何在python中使用xlsx writer注释工作

问题描述

我在excel中有很多列的数据,我想使用xlsx writer通过python使用文档中的注释进行一些合并格式化https://xlsxwriter.readthedocs.io/working_with_cell_notation.html

这是我的代码:

workbook  = writer.book
worksheet = writer.sheets['report']

merge_format = workbook.add_format({
    'bold': 1,
    'align': 'center',
    'valign': 'vcenter'
})

rows, columns = data_pdam.shape

# the problem
for col in range(len(data.columns)):
    worksheet.merge_range(1, col, 1, col+2, 'name', merge_format)

这是我的数据样子:

X      Y      Z      AA      AB       AC
value         value          value     
1      6      3      4       3        5
2      3      4      5       6        2

我想将每个值标题合并为 2 列问题是列 Z 和 AA 到数据列的末尾未合并如何使其正常工作?

标签: pythonpandasxlsxxlsxwriter

解决方案


您可能需要对(2n, 2n+1)列号进行迭代。像这样的东西:

import xlsxwriter

workbook = xlsxwriter.Workbook('test.xlsx')
worksheet = workbook.add_worksheet()

columns = ['X', 'Y', 'Z', 'AA', 'AB', 'AC']

merge_format = workbook.add_format({
    'bold': 1,
    'align': 'center',
    'valign': 'vcenter',
    'border': 1
})

for index, name in enumerate(columns):
    worksheet.merge_range(1, 2 * index, 1, 2 * index + 1, name, merge_format)

workbook.close()

输出

在此处输入图像描述


推荐阅读