python操作EXCEl

import openpyxl # 操作excel 的包

def error(func):
    def wrapper(*args,**kwargs):
        try:
            return func(*args,**kwargs)
        except:
            raise PermissionError("Please check if the file is opened by EXCEl")
    return wrapper


class PyExcel(object):
    def __init__(self,name=None):
        self.name = name
        if self.name is None:
            self.obj = openpyxl.Workbook()
        else:
            self.obj = openpyxl.load_workbook(name)
    @error
    def create_file(self,name):
        """创建一个文件"""
        self.obj.save(name)
        self.name = name

    @error
    def write_cell(self,row,col,content):
        """往cell 中写入内容"""
        act_sheet=self.obj.active # 激活sheet
        act_sheet.cell(row=row,column=col,value=content) # 坐标从1开始
        self.obj.save(self.name) # 保存文件

    @error
    def write_content(self,row:int,content):
        """写入内容"""
        act_sheet=self.obj.worksheets[0] #列表获取第一个工作簿
        act_sheet["A%d"%row] = content # 写入值
        self.obj.save(self.name)
    @error
    def read_data(self,row,col): # 坐标从1 开始
        """获取特定坐标的值"""
        act_sheet=self.obj.active # 激活默认的工作簿
        con=act_sheet.cell(row=row,column=col).value
        return con
    @error
    def get_all_row_con(self):
        """获取所有的行内容"""
        act_sheet = self.obj.active
        content_list = list()
        for i in act_sheet.iter_rows():
            content_list.append(map(lambda x:x.value,i))
        return content_list
    @error
    def copy_sheet(self):
        """拷贝工作簿"""
        act_sheet=self.obj.copy_worksheet(self.obj.worksheets[0])
        act_sheet.title = "bak" # 重命名工作簿
        self.obj.save(self.name)
t=PyExcel("test.xlsx")
res=t.read_data(7,1)
for i in t.get_all_row_con():
    print(tuple(i))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值