Python utilise xlwt, xlrd, xlutils pour réaliser la fonction de lecture et d'écriture sur le même Excel en même temps

    Lorsque vous utilisez Python pour traiter des fichiers Excel, vous rencontrez souvent la tâche de lire les données d'une certaine cellule et d'obtenir de nouvelles données après le traitement du programme, et vous souhaitez insérer les nouvelles données dans la colonne suivante du même Excel. Je ne veux pas créer un nouveau tableau Excel, je veux juste accéder et insérer des données sur le même fichier.

    À ce stade, vous pouvez utiliser les modules de boîte à outils Excel xlwt, xlrd et xlutils fournis par Python pour réaliser les fonctions ci-dessus.

    

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)

    A écrit une classe d'outils pour le traitement Excel, utilisée pour créer une feuille de calcul Excel (fonction excel_create), lire une feuille de calcul Excel (fonction excel_read), modifier la feuille de calcul Excel (fonction excel_change) et obtenir des lignes de données de feuille de calcul Excel Number (fonction get_rows_number).

    Parmi eux, la fonction excel_change utilise principalement un pipeline pour réaliser des tâches de lecture et d'écriture simultanées, en utilisant la fonction de copie fournie dans la boîte à outils xlutils, puis en écrivant la table de copie dans de nouvelles données pour écraser la table de travail d'origine.

Je suppose que tu aimes

Origine blog.csdn.net/qq_22472047/article/details/104838945
conseillé
Classement