Python usa xlwt, xlrd, xlutils para realizar la función de leer y escribir en el mismo Excel al mismo tiempo

    Cuando usa Python para procesar archivos de Excel, a menudo se encuentra con la tarea de leer los datos de una determinada celda y obtener nuevos datos después del procesamiento del programa, y ​​desea insertar los nuevos datos en la siguiente columna del mismo Excel. No desea crear una nueva tabla de Excel, solo desea acceder e insertar datos en el mismo archivo.

    En este momento, puede utilizar los módulos xlwt, xlrd y xlutils del kit de herramientas de Excel proporcionados por Python para lograr las funciones anteriores.

    

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)

    Escribió una clase de herramienta para el procesamiento de Excel, utilizada para crear una hoja de cálculo de Excel (función excel_create), leer la hoja de cálculo de Excel (función excel_read), modificar la hoja de cálculo de Excel (función excel_change) y obtener filas de datos de la hoja de cálculo de Excel Función Number (función get_rows_number).

    Entre ellos, la función excel_change utiliza principalmente una canalización para lograr tareas de lectura y escritura simultáneas, utilizando la función de copia proporcionada en el kit de herramientas xlutils y luego escribiendo la tabla de copia en nuevos datos para sobrescribir la tabla de trabajo original.

Supongo que te gusta

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