2016-06-28 9 views
2

Я пытаюсь добавить лист в файл excel: ex.xls, и всякий раз, когда я это делаю, удаляются все ранее сделанные листы.Добавление листа в существующий рабочий лист excel без удаления другого листа

Как добавить лист в этот файл excel, не удаляя другие листы?

Вот мой код, чтобы создать лист:

import xlwt 
import xlrd 

wb = Workbook() 
Sheet1 = wb.add_sheet('Sheet1') 
wb.save('ex.xls') 
+0

Я предполагаю, что вы не можете сделать 'Sheet2 = wb.add_sheet ('Лист2') '? – BruceWayne

+0

Я могу, но это просто создает два новых листа при удалении всех остальных листов. –

+0

Это потому, что вы создаете новую книгу (новый файл excel), добавляете рабочий лист и затем переписываете существующий файл excel. Я знаю, что это не решает ваш вопрос. Берни сделал это, но подумал, что вы можете оценить объяснение, почему это не удалось. –

ответ

5

Я считаю, что это единственный способ сделать то, что вы хотите:

import xlrd, xlwt 
from xlutils.copy import copy as xl_copy 

# open existing workbook 
rb = xlrd.open_workbook('ex.xls', formatting_info=True) 
# make a copy of it 
wb = xl_copy(rb) 
# add sheet to workbook with existing sheets 
Sheet1 = wb.add_sheet('Sheet1') 
wb.save('ex.xls') 
+1

Спасибо, что сработал –

+0

Приветствия, помощник. Рад, что я могу вам помочь. – bernie

+0

Если вы не возражаете видеть, как ваш единственный, кто действительно знает этот материал: http://stackoverflow.com/questions/38063661/python-excel-how-to-turn-sheet-name-into-sheet-number –