Python操作excel

本文介绍了作者近期手写的一个Python工具,旨在解决Python操作Excel的问题。这个工具将为用户提供便利,帮助他们更高效地进行Excel文件的读写和管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一直没有找到Python操作excel很好的工具:最近手写了一个,希望给大家带来帮助:

class ExcelUtils(object):
    """https://openpyxl.readthedocs.io/en/stable/changes.html"""

    def __init__(self, filename, sheets=None):
        """
        :param filename: excel文件的位置
        :param sheets: 需要创建的sheet
        """
        if sheets is None:
            sheets = []
        self.wb = openpyxl.load_workbook(filename)
        self.filename = filename
        self.ws = self.wb.active
        for sheet in sheets:
            self.wb.create_sheet(sheet)

    def insert(self, text, pos, sheet=""):
        """
        :param text: 插入的数据
        :param pos: 插入的位置(eg. 'A1')
        :param sheet: 插入的sheet
        :return: 如果失败返回 False
        """

        if sheet:
            ws_sheet = self.wb[sheet]
            if not ws_sheet[pos].value:
                ws_sheet[pos] = text
            else:
                return False
        else:
            if not self.ws[pos].value:
                self.ws[pos] = text
            else:
                return False
        self.wb.save(self.filename)

    def delete(self, pos, sheet=""):
        """
        :param pos: 删除内容的位置;(内容置空)
        :param sheet: 删除的sheet
        :return: 被删除的内容
        """
        if sheet:
            ws_sheet = self.wb[sheet]
            content = ws_sheet[pos].value
            ws_sheet[pos] = ""

        else:
            content = self.ws[pos].value
            self.ws[pos] = ""
        self.wb.save(self.filename)
        return content

    def update(self, pos, text, sheet=""):
        """
        :param pos: 修改文本的位置
        :param text: 修改的内容
        :param sheet: 修改的sheet
        """
        if sheet:
            ws_sheet = self.wb[sheet]
            ws_sheet[pos] = text
        else:
            self.ws[pos] = text

    def get(self, pos, sheet=""):
        """
        :param pos: 获取内容的位置;(内容置空)
        :param sheet: 获取的sheet(可选)
        :return: 获取的内容
        """
        if sheet:
            ws_sheet = self.wb[sheet]
            return ws_sheet[pos]
        else:
            return self.ws[pos]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值