如何避免丢失复制到的XLS工作表上的公式(使用xlrd,xlwt和xlutils)

时间:2018-09-19 15:31:06

标签: excel xlrd xlwt xlutils

我试图将一个表从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文件复制到另一个文件的人。

0 个答案:

没有答案