Как не потерять формулы на листе xls, скопированном в (используя xlrd, xlwt и xlutils) - PullRequest
0 голосов
/ 19 сентября 2018

Я пытался скопировать и отфильтровать таблицу из файла xls в другой ранее существовавший.Я смог сделать это, используя xlrd, xlwt и xlutils, как показано ниже.Даже если бы я мог сохранить стиль окончательного листа (через formatting_info = True ), я бы хотел сохранить формулы, которые уже были там .

Есть лиспособ решить эту проблему?

import xlrd, xlwt
from xlutils.copy import copy

# file to copy from
ficheiro = xlrd.open_workbook(filepath_source)
separador = ficheiro.sheet_by_name("Sheet2")

# file to copy to
ficheiro_destino_x = xlrd.open_workbook(filepath_final, formatting_info = True)
ficheiro_destino = copy(ficheiro_destino_x)
separador_destino = ficheiro_destino.get_sheet("Separador1")

num_linhas = separador.nrows
num_colunas = separador.ncols

# headers
for column in range(0,num_colunas):
    separador_destino.write(0,column,separador.cell(0,column).value)

row = 1
row_destino = 1

# copying and filtering the source table
while row < num_linhas:
    column = 0
    while column < num_colunas:
        if separador.cell(row,1).value > 1000:
            separador_destino.write(row_destino,column,separador.cell(row,column).value)
            incremento = 1
        else:
            incremento = 0
        column += 1
    row += 1
    row_destino += incremento

# saving the file
ficheiro_destino.save(filepath_final)

Заранее спасибо!

PS: Я надеюсь, что код также помогает тем, кто пытается скопировать отфильтрованную информацию из файла xls в другой.

...