Форум сайта python.su
Доброго дня!
Требуется решить следующую задачу. Есть экселевский файл формата ФИО-Должность-Кол-во мониторов-Кол-во установленного софта и прочее. Как мне средствами Python + xlwt (или xlrd) добавить в готовом файле столбец (например 5 по счету) с формулой A1+B1, а 7-мым столбец например А2/С3. Заранее благодарен.
Офлайн
Открыть excel, открыть книгу, найти лист, сдвинуть весь диапазон после четвертого столбца вправо, записать туда формулу, то же само с 7м столбцом. Естественно, все это средствами питона и названных вами библиотек.
Офлайн
А можно небольшой пример? В инете не нашел (((
Офлайн
Я вам лучше советую через xml. Для этого запишите вашу табимцу в экселе в этот формат и делайте с ним, что хотите.
Офлайн
Можно подробнее про метод с xml?Желательно с небольшим примером.
Офлайн
Excel может сохранять свои таблицы в xml. xml - это текстовый файл. Дальше - вы уже сами все можете сделать, если знаете питон.
Офлайн
arbyz
import xlwt
from datetime import datetime
style0 = xlwt.easyxf(
'font: name Times New Roman, colour red, bold on'
)
style1 = xlwt.easyxf('',num_format_str='D-MMM-YY')
wb = xlwt.Workbook()
ws = wb.add_sheet('A Test Sheet')
ws.write(0, 0, 'Test', style0)
ws.write(1, 0, datetime.now(), style1)
ws.write(2, 1, 1)
ws.write(2, 2, xlwt.Formula("A3+B3"))
wb.save('example.xls')
Офлайн
dvsДа как формулу вставить - это понятно, не понятно как добавить пустой столбец 5-ым по счету.
arbyz©http://www.simplistix.co.uk/presentations/python_excel_09/excel-lightning.pdfimport xlwt
from datetime import datetime
style0 = xlwt.easyxf(
'font: name Times New Roman, colour red, bold on'
)
style1 = xlwt.easyxf('',num_format_str='D-MMM-YY')
wb = xlwt.Workbook()
ws = wb.add_sheet('A Test Sheet')
ws.write(0, 0, 'Test', style0)
ws.write(1, 0, datetime.now(), style1)
ws.write(2, 1, 1)
ws.write(2, 2, xlwt.Formula("A3+B3"))
wb.save('example.xls')
Офлайн