• python 读取Excel数据


    # 如果xlrd运行报错,先卸载当前安装的xlrd
    # pip uninstall xlrd
    # 再安装低版本的xlrd
    # pip install xlrd==1.2.0
    
    import xlrd
    import sys
    import os
    
    def read_excel_dict(excelPath,sheetName):
    
        if not os.path.exists(excelPath):
            print("ERROR!
    excel不存在")
            sys.exit()
    
        wb = xlrd.open_workbook(excelPath)  # 打开文件
        sheet_names = wb.sheet_names()      # 获取所有工作表名称
    
        # 判断输入表名是否实际存在于excel内
        if sheetName not in sheet_names:
            print("ERROR!
    输入表名错误,输入表名为:{}, 实际表名为:{}".format(sheetName, sheet_names))
            sys.exit()
    
        table = wb.sheet_by_name(sheetName)
        key = table.row_values(0)   # 取第一行作为key值
        rowNum = table.nrows        # 获取总行数
        colNum = table.ncols        # 获取总列数
    
        if rowNum <= 1:
            print("数据为空,总行数小于1")
        else:
            r = []
            x = 1
            for row in range(1,rowNum):
                cell = {}
                # cell['rowNum'] = row
                values = table.row_values(x)
                for col in range(colNum):
                    cell[key[col]] = values[col]
                r.append(cell)
                x += 1
            return r
    
    def read_excel_list(excelPath,sheetName):
    
        if not os.path.exists(excelPath):
            print("ERROR!
    excel不存在")
            sys.exit()
    
        wb = xlrd.open_workbook(excelPath)  # 打开文件
        sheet_names = wb.sheet_names()      # 获取所有工作表名称
    
        # 判断输入表名是否实际存在于excel内
        if sheetName not in sheet_names:
            print("ERROR!
    输入表名错误,输入表名为:{}, 实际表名为:{}".format(sheetName, sheet_names))
            sys.exit()
    
        table = wb.sheet_by_name(sheetName)
        key = table.row_values(0)   # 取第一行作为key值
        rowNum = table.nrows        # 获取总行数
        colNum = table.ncols        # 获取总列数
    
        if rowNum <= 1:
            print("数据为空,总行数小于1")
        else:
            r = []
            x = 1
            for row in range(1,rowNum):
                cell = []
                values = table.row_values(x)
                for col in range(colNum):
                    cell.append(values[col])
                r.append(cell)
                x += 1
            return r
    
    
    
    if __name__ == "__main__":
        filepath = "../Data/body.xlsx"
        sheetName = "Sheet1"
    
        data = read_excel_dict(filepath, sheetName)
        print(data)
    
        data = read_excel_list(filepath, sheetName)
        print(data)

     

  • 相关阅读:
    $this是什么意思-成员变量和局部变量的调用
    神经网络 ML08 c-d-e
    机器学习笔记 ML01c
    虚函数
    C++有哪几种情况只能用初始化列表,而不能用赋值?
    C++ 的 I/O
    引用
    宏定义 #define 和常量 const 的区别
    怎么设置才能让外网ip可以访问mysql数据库[转]
    大师的框架面试总结[转]
  • 原文地址:https://www.cnblogs.com/zy791976083/p/14346996.html
Copyright © 2020-2023  润新知