2015-07-21 2 views
2

Я хочу создать табель с xlsxwritter, но я нахожу какой-то процесс и будет чрезвычайно долго, как этот код ниже:избежать повторения кода в xlsxwritter

worksheet.set_column('B6:B6', 3) 
worksheet.write('C9', "Day") 
worksheet.write('C7', "Date") 
worksheet.write('E7', "Start") 
worksheet.write('F7', "End") 

worksheet.write('C7', "SUN") 
worksheet.write('C8', "MON") 
worksheet.write('C9', "TUE") 
worksheet.write('C10', "WED") 
worksheet.write('C11', "THU") 
worksheet.write('C12', "FRI") 
worksheet.write('C13', "SAT") 

worksheet.write('J7', "SUN") 
worksheet.write('J8', "MON") 
worksheet.write('J9', "TUE") 
worksheet.write('J10', "WED") 
worksheet.write('J11', "THU") 
worksheet.write('J12', "FRI") 
worksheet.write('J13', "SAT") 

worksheet.write('N7', "SUN") 
worksheet.write('N8', "MON") 
worksheet.write('N9', "TUE") 
worksheet.write('N10', "WED") 
worksheet.write('N11', "THU") 
worksheet.write('N12', "FRI") 
worksheet.write('N13', "SAT") 

Чтобы привести подобное в ПОС: enter image description here

Вопрос: Есть ли способ достичь такой задачи, не повторяя код>?

ответ

0

Соответствует ли это тем, что вам нужно?

Вам просто нужно настроить SOME_MAX1 и SOME_MAX2 вары

days = ["SUN","MON","TUE","WED","THU","FRI","SAT"] 
rows = range(7,SOME_MAX1) 
cols = range(3,SOME_MAX2,10) + range(9,SOME_MAX2,10) 

for r in rows: 
    for c in cols: 
     worksheet.write(r, c, days[ r % 7 ]) 

EDIT: Для день, дата, время начала, конца: Вы можете сделать что-то подобное

Смежные вопросы