编写lin后的Python xlswriter设置格式

2024-09-28 21:55:37 发布

您现在位置:Python中文网/ 问答频道 /正文

在下面的循环中,我将写入单元格并格式化其中的一些单元格。 在某些情况下,我想设置背景颜色

def WriteExcelData(workbook,worksheet,row,datas):
col = 0
formatDate = workbook.add_format({'num_format': 'dd/mm/yy'})
formatHour = workbook.add_format({'num_format': 'hh:mm'})
for data in datas:
    if re.match('^\d{2}\/\d{2}\/\d{4}$', data):
        #print 'date:',data
        worksheet.write(row,col,datetime.strptime(data, '%d/%m/%Y'),formatDate)
    elif re.match('^\d{2}\:\d{2}\:\d{2}$', data):
        worksheet.write(row,col,datetime.strptime(data, '%H:%M:%S'),formatHour)
    else:
        worksheet.write(row,col,data)

    col += 1
return

有没有一种方法可以在一行被写入后应用格式? 如果没有,是否可以合并几种格式? 比如:

format1 = workbook.add_format({'num_format': 'hh:mm'})
format2 = workbook.add_format({'bg_color': '#dcdcdc'})
format3 = format1 + format2

谢谢


Tags: readdformatdatahhcolnumwrite
1条回答
网友
1楼 · 发布于 2024-09-28 21:55:37
format1 = workbook.add_format({
            'num_format': 'hh:mm'
            'bg_color': '#dcdcdc'
            })
format2 = workbook.add_format({
            'num_format': 'hh:mm'
            })
  • 如果要将num\u formate和bg\u colort设置为set format1或format2,则可以尝试此操作。你知道吗

-也许这个例子会对你有所帮助。你知道吗

caption = ('Duplicate values are in light red. '
           'Unique values are in light green.')

worksheet3.write('A1', caption)

for row, row_data in enumerate(data):
    worksheet3.write_row(row + 2, 1, row_data)

worksheet3.conditional_format('B3:K12', {'type': 'duplicate','format': format1})
worksheet3.conditional_format('B3:K12', {'type': 'unique','format': format2})

相关问题 更多 >