Python usa xlwt, xlrd, xlutils para realizar a função de ler e gravar no mesmo Excel ao mesmo tempo

    Ao usar o Python para processar arquivos do Excel, você frequentemente se depara com a tarefa de ler os dados de uma determinada célula e obter novos dados após o processamento do programa e deseja inserir os novos dados na próxima coluna do mesmo Excel. Não quero criar uma nova tabela Excel, quero apenas acessar e inserir dados no mesmo arquivo.

    Neste momento, você pode usar os módulos do kit de ferramentas do Excel xlwt, xlrd e xlutils fornecidos pelo Python para realizar as funções acima.

    

import xlwt
import xlrd
from xlutils.copy import copy


class ExcelProcess:
    def __init__(self, doc_file, sheet_name):
        self.doc_file = doc_file
        self.sheet_name = sheet_name

    def get_rows_number(self):
        """
        获取某一table中数据的总行数
        :return: 数据的总行数
        """
        data = xlrd.open_workbook(self.doc_file)
        table = data.sheet_by_name(self.sheet_name)
        return table.nrows

    def excel_read(self, x, y):
        """
        读取Excel工作表中某一table的单元格的值
        :param x:
        :param y:
        :return: 单元格的值
        """
        data = xlrd.open_workbook(self.doc_file)
        table = data.sheet_by_name(self.sheet_name)
        return table.cell(x, y).value

    def excel_create(self, x, y, value):
        """
        创建一个Excel工作表
        :param x: 单元格横坐标
        :param y: 单元格纵坐标
        :param value: 要写入单元格的值
        :return:
        """
        data = xlwt.Workbook()
        table = data.add_sheet(self.sheet_name)
        table.write(x, y, value)
        data.save(self.doc_file)

    def excel_change(self, x, y, value):
        """
        修改原始excel文件
        :param x: 单元格横坐标
        :param y: 单元格纵坐标
        :param value: 要写入单元格的值
        :return:
        """
        rb = xlrd.open_workbook(self.doc_file)
        # 管道作用
        wb = copy(rb)
        # 通过get_sheet()获取的sheet有write()方法
        # ws = wb.get_sheet(0)  # 1代表是写到第几个工作表里,从0开始算是第一个。
        ws = wb.sheet_by_name(self.sheet_name)
        ws.write(x, y, value)
        wb.save(self.doc_file)

    Escreveu uma classe de ferramenta para processamento do Excel, usada para criar planilha do Excel (função excel_create), ler planilha do Excel (função excel_read), modificar planilha do Excel (função excel_change) e obter linhas de dados da planilha do Excel Função de número (função get_rows_number).

    Entre eles, a função excel_change usa principalmente um pipeline para realizar tarefas simultâneas de leitura e escrita, usando a função de cópia fornecida no kit de ferramentas xlutils e, em seguida, escrevendo a tabela de cópia em novos dados para sobrescrever a tabela de trabalho original.

Acho que você gosta

Origin blog.csdn.net/qq_22472047/article/details/104838945
Recomendado
Clasificación