2015-07-21 188 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") 

导致像在PIC: 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 ]) 

编辑:对于星期,日期,起点,终点:你可以做类似

东西