python获取excel数据的几种方法

部署运行你感兴趣的模型镜像
第一种 不用获取第一行标题;直接拿excel行列的数据
from openpyxl import load_workbook
class DoExcel:
    def __init__(self,file_name,sheet_name):
        self.file_name=file_name
        self.sheet_name=sheet_name

    def get_data(self):
        #打开excel
        wb=load_workbook(self.file_name)
        #定位sheet
        sheet=wb[self.sheet_name]
        #定位单元格
        test_data=[]
        for i in range(2,sheet.max_row+1):
            sub_data = {}
            sub_data['url']=sheet.cell(i,1).value
            sub_data['data']=sheet.cell(i,2).value
            sub_data['method']=sheet.cell(i,3).value
            test_data.append(sub_data)
        return test_data


if __name__ == '__main__':
    res=DoExcel('test_data.xlsx','text').get_data()
    print(res)
第二种:获取excel中第一行标题数据
from openpyxl import load_workbook
class DoExcel:

    def __init__(self,file_name,sheet_name):
        self.file_name=file_name
        self.sheet_name=sheet_name

    def get_header(self):
        '''获取第一行标题'''
        header=[]
        wb=load_workbook(self.file_name)
        sheet=wb[self.sheet_name]
        for j in range(1,sheet.max_column+1):
            header.append(sheet.cell(1,j).value)
        return header

    def get_excel(self):
        '''获取excel所有值'''
        wb=load_workbook(self.file_name)
        sheet=wb[self.sheet_name]
        header=self.get_header()
        test_data=[]
        for i  in range(2,sheet.max_row+1):
            sub_date={}
            for j in range(1,sheet.max_column+1):
                sub_date[header[j-1]]=sheet.cell(i,j).value#列表从是0开始;所有j要-1
            test_data.append(sub_date)
        return test_data
if __name__ == '__main__':
    print(DoExcel('test_data.xlsx','text').get_excel())

您可能感兴趣的与本文相关的镜像

Python3.9

Python3.9

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值