python3:excel操作之读取数据并返回字典 + 写入数据

excel写入数据,使用openpyxl库

class WriteExcel:
    def __init__(self,path):
        self.path = path

    def write_excel(self, sheet_name, content):
        """
        在excel指定sheet中的写入指定内容,以追加方式
        :return:
        """
        wb = openpyxl.load_workbook(self.path)
        ws = wb[sheet_name]
        # 获取最大行
        row_num = ws.max_row
        try:
            ws.cell(row=row_num+1, column=1).value = content
        except Exception as msg:
            print('写入excel失败:', msg)
        finally:
            wb.save(self.path)


if __name__ == '__main__':
    WE = WriteExcel('../config/data.xlsx')
    WE.write_excel(sheet_name='user', content='瑟瑟发抖')

excel读取数据,使用xlrd库

class ReadExcel:
    def __init__(self,path):
        self.path = path

    def read_excel(self,row):
        """
        遍历excel所有sheet,并以字典返回
        :param row:
        :return:
        """
        with xlrd.open_workbook(self.path, 'rb') as book:
            sheets = book.sheet_names()    # 找到所有sheets
            data_dict = {}
            for sheet in sheets:
                table = book.sheet_by_name(sheet)  # 找到要操作的sheet

                # 获取sheet所有列数
                col_num = table.ncols
                #  读取第一行的值,作为每个sheet返回字典的key
                keys = table.row_values(0)

                # 读取除指定行,作为每个sheet返回字典的value
                values = table.row_values(row)

                # 遍历所有列,并以字典接收,其中第一行作为字典的key,其他行作为字典的value
                sheet_dict = {}
                for col in range(col_num):
                    sheet_dict[keys[col]] = values[col]

            # 遍历所有sheet,并以字典接收返回,其中sheet名称作为字典的key,每个sheet的数据作为字典的value
                data_dict[sheet] = sheet_dict
        return data_dict

读取结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值