Я пытаюсь написать файл Excel из сценария python.
Я пытался сделать это с матрицей 24x32 (12 для всех месяцев и один пустой столбец и 32 для всех возможных дней плюс Еще 1 строка для названия месяца в верхней строке)
Я создал словарь со всеми названиями месяцев и продолжительностью месяца этого года, например:
months = {"JANUARY": 31, "FEBRUARY": 29, "MARCH": 31, "APRIL": 30, "MAY": 31, "JUNE": 30, "JULY": 31, "AUGUST": 31, "SEPTEMBER": 30, "OCTOBER": 31, "NOVEMBER": 30, "DECEMBER": 31}
И я написал эту функцию, которая пишет в файл Excel, но я получаю сообщение об ошибке, что я пытаюсь перезаписать ячейку, и я не могу понять, что делать
def write_to_excel():
months = {"JANUARY": 31, "FEBRUARY": 29, "MARCH": 31, "APRIL": 30, "MAY": 31, "JUNE": 30, "JULY": 31, "AUGUST": 31, "SEPTEMBER": 30, "OCTOBER": 31, "NOVEMBER": 30, "DECEMBER": 31}
# Create Workbook
workbook = xlwt.Workbook()
# Create new sheet
sheet = workbook.add_sheet("Sheet 1")
column = 0
if column % 2 == 0:
for month in range(len(months.keys())):
sheet.write(0, column, [*months.keys()][month])
for date in range(1, int([*months.values()][month]) + 1):
sheet.write(date, column, f"{date}/{month}/2020")
else:
column += 1
Это ошибка, которую я получаю :
Traceback (most recent call last):
File "C:/Users/user's_name/Desktop/app's_folder/app's_name.py", line 248, in <module>
main_window()
File "C:/Users/user's_name/Desktop/app's_folder/app's_name.py", line 240, in main_window
response = approve_applications(raw_message) # if it is get the email's information and project it on the window to be approved or denied
File "C:/Users/user's_name/Desktop/app's_folder/app's_name.py", line 134, in approve_applications
write_excel_file()
File "C:/Users/user's_name/Desktop/app's_folder/app's_name.py", line 17, in write_excel_file
sheet.write(column, 0, [*months.keys()][month])
File "C:\Users\user's_name\AppData\Local\Programs\Python\Python37\lib\site-packages\xlwt\Worksheet.py", line 1088, in write
self.row(r).write(c, label, style)
File "C:\Users\user's_name\AppData\Local\Programs\Python\Python37\lib\site-packages\xlwt\Row.py", line 235, in write
StrCell(self.__idx, col, style_index, self.__parent_wb.add_str(label))
File "C:\Users\user's_name\AppData\Local\Programs\Python\Python37\lib\site-packages\xlwt\Row.py", line 154, in insert_cell
raise Exception(msg)
Exception: Attempt to overwrite cell: sheetname='Sheet 1' rowx=0 colx=0
Под названием месяца я хочу каждый день писать, что он имеет такой вид day/month/2020
Таким образом, вывод должен быть:
![And so on for each month](https://i.stack.imgur.com/6fIaf.png)
Название месяца не обязательно должно быть объединенной ячейкой, я не знаю, помогает ли это каким-либо образом, а воскресенья не должны быть цветными.
Если бы кто-то мог помочь, я был бы признателен, спасибо заранее.