• Python读取Excel


    一、基础操作

    import xlrd
    #打开Excel表格
    data = xlrd.open_workbook(r"G:Usersuser.xlsx")
    #获取目标EXCEL文件sheet名
    print(data.sheet_names())
    #通过索引顺序获取
    #table = data.sheets()[0]
    #通过索引顺序获取
    #table = data.sheet_by_index(0)
    # 通过名称获取 
    table = data.sheet_by_name(u'Sheet1')
    # 获取总行数
    nrows = table.nrows
    # 获取总列数
    ncols = table.ncols
    # 获取第一行值
    print(table.row_values(0))
    # 获取第二列值
    print(table.col_values(1)) 
    # 获取第二行第一列单元格内容
    print(table.cell_value(1,0))  

    二、封装读取Excel

    # coding:utf-8
    import xlrd
    
    class DataTest:
    
        def __init__(self, filepath, sheetindex=0):
            self.data = xlrd.open_workbook(filepath)
            self.table = self.data.sheets()[sheetindex]
            self.rows = self.table.nrows
            self.cols = self.table.ncols
            #将第一行的值作为key值,当选中的sheet总行数小于或等于1时提示
            if self.rows<=1:
                print("选中的sheet表格总行数小于1或者等于1,请检查并录入测试数据或者选择其他sheet")
            else:
                self.keys = self.table.row_values(0)
    
        def dataddt(self):
            if self.rows<=1:
                pass
            else:
                l = []
                x = 1
                for i in range(self.rows-1):
                    d = {}
                    #从第二行开始获取对应的values值
                    values = self.table.row_values(x)
                    for j in range(self.cols):
                        d[self.keys[j]] = values[j]
                    l.append(d)
                    x +=1
                return l
            
    if __name__ == "__main__":
        file = r"C:Usersuser.xlsx"
        date = DataTest(file)
        test = date.dataddt()
        print(test[0]["username"])
        print(test[1]["password"])
        print(test[2]["test"])
  • 相关阅读:
    Objective-C Collection was mutated while being enumerated crash
    C++ assert断言
    Objective-C 禁用NSMenu中的系统services菜单项
    django----命令
    django----admin源码流程
    django----admin
    django----利用Form 实现两次密码输入是否一样 ( 局部钩子和全局钩子 )
    django----基于Form组件实现的增删改和基于ModelForm实现的增删改
    java----面试题
    课外知识----ini
  • 原文地址:https://www.cnblogs.com/chen/p/10370612.html
Copyright © 2020-2023  润新知