2016-05-11 2 views
1

У меня есть сценарий, который считывает данные из одного excel в xlrd, а затем записывает данные в другой файл excel, исключая первый столбец с помощью xlsx writer. Проблема в том, что мне нужно сохранить новый файл как xls. Любой способ сделать это? Кроме того, в любом случае использовать параметр заголовка и данных в рабочем листе.add_table()? Благодаря!xlsxwriter - вы можете сохранить как файл xls

workbook = xlrd.open_workbook(outXL) 
writeBook = r"S:Upload\SVRSTA00.xls" 

sheet = workbook.sheet_by_index(0) 

cell_range_value = 0 
for value in sheet.col(32): 
    cell_range_value += 1 
print cell_range_value 

data = [] 
for i in range(0, cell_range_value,1): 
    stuff = [sheet.cell_value(i, col) for col in range(sheet.ncols)[1:]] 
    print stuff 
    data.append(stuff) 

#Create a workbook and add worksheet. 
workbook = xlsxwriter.Workbook(writeBook) 
worksheet = workbook.add_worksheet("SVRSTA00") 

worksheet.add_table(0,0,32, cell_range_value,{'data': data}) 

workbook.close() 

ответ

0

XlsxWriter не может создать файл xls. Формат файла xls полностью отличается от формата xlsx.

Для написания xls в python лучшим модулем является xlwt.

+0

Вот с чего я начал. Перетащите его в xlwt и получите «LookupError. Неизвестная кодировка» на workbook.add_sheet. Используется для замены workbook.add_worksheet в xlsxwriter. – ShaunO

+0

Это другой вопрос, поэтому вы должны задать его в новой теме. Вы также должны отметить это как принятое. – jmcnamara