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