Python 使用xlsxwriter每秒合并一个单元格

Python 使用xlsxwriter每秒合并一个单元格,python,xlsxwriter,Python,Xlsxwriter,我希望将每一秒的单元格与xlsxwriter合并,如下所示 我试过这个 import xlsxwriter, os, datetime as dt # Create an new Excel file and add a worksheet. workbook = xlsxwriter.Workbook('AARs.xlsx') worksheet = workbook.add_worksheet() # Create a format to use in the merged range

我希望将每一秒的单元格与xlsxwriter合并,如下所示

我试过这个

import xlsxwriter, os, datetime as dt

# Create an new Excel file and add a worksheet.
workbook = xlsxwriter.Workbook('AARs.xlsx')
worksheet = workbook.add_worksheet()

# Create a format to use in the merged range.
merge_format = workbook.add_format({
    'align': 'center',
    'valign': 'vcenter'})

# Start and end dates of the trial to go into the spreadsheet.
start_date = dt.datetime(2019, 8, 6)
end_date = dt.datetime(2019, 12, 13)
trial_length = end_date -start_date

# Merge cells.
for days in range(trial_length.days):
    worksheet.merge_range(1, 1+days, 1, 2+days, 'Merged Range', merge_format)

workbook.close()
我已经在下面明确地写出了for循环

worksheet.merge_range(1, 1, 1, 2, 'Merge Range', merge_format)
worksheet.merge_range(1, 3, 1, 4, 'Merge Range', merge_format)
worksheet.merge_range(1, 5, 1, 6, 'Merge Range', merge_format)
worksheet.merge_range(1, 7, 1, 8, 'Merge Range', merge_format)
worksheet.merge_range(1, 9, 1, 10, 'Merge Range', merge_format)
worksheet.merge_range(1, 11, 1, 12, 'Merge Range', merge_format)
worksheet.merge_range(1, 13, 1, 14, 'Merge Range', merge_format)
worksheet.merge_range(1, 15, 1, 16, 'Merge Range', merge_format)
worksheet.merge_range(1, 17, 1, 18, 'Merge Range', merge_format)
worksheet.merge_range(1, 19, 1, 20, 'Merge Range', merge_format)
我现在在编写正确的循环时遇到了问题。我试过这样的方法:

count_odd = 0
count_even = 0
for days in range(trial_length.days):
    if not days % 2:
        worksheet.merge_range(1, 1, 1, 2 + count_even, 'Merge Range', merge_format)
        count_even += 1
    else:
        worksheet.merge_range(1, 1 + count_odd, 1, 2 + count_even, 'Merge Range', merge_format)
        count_odd += 1
但这似乎也不起作用。 我正在尝试每秒钟合并一个单元格。

解决了这个问题

odd = 1
even = 2
for day in range(trial_length.days):
    worksheet.merge_range(1, odd, 1, even, 'Merge Range', merge_format)
    odd += 2
    even += 2

答案几乎太明显了。

什么是看起来不错而看起来不合适的意思?@Alexander Cécile我补充道,如果我理解正确的话,它在Linux中是如何出现的,
days+1
是否与上一次迭代的
days+2
相同?忘了提到变量和函数名通常应遵循带有下划线的
小写形式。