zoukankan      html  css  js  c++  java
  • python学习6--python读取excel数据

    一、xlrd模块介绍

    1.xlrd是读取excel表格数据;

    2.支持xlsx和xls格式的excel表格

    3.安装方式:pip install xlrd

    4.模块导入方式:import xlrd

    二、环境准备

    1.先安装xlrd模块,打开cmd,输入pip install xlrd在线安装

     三、基本操作

    1.excle基本操作方法如下

    import xlrd
    #打开excle表格,参数是文件路径
    a=xlrd.open_workbook("E:\sys_user.xls")
    #table=a.sheets()[0] #通过索引顺序获取
    # table=a.sheet_by_index(0) #通过索引顺序获取
    table=a.sheet_by_name("user") #通过名称获取
    nrows=table.nrows #获取总行数
    ncols=table.ncols #获取总列数
    print(nrows,ncols)
    #获取一行或一列的值,参数是第几行
    print(table.row_values(0)) #获取第一行值
    print(table.col_values(0)) #获取第一列值
    

     运行结果:

    20 2
    ['test1', 1.0]
    ['test1', 'test2', 'test3', 'test4', 'test5', 'test6', 'test7', 'test8', 'test9', 'test10', 'test11', 'test12', 'test13', 'test14', 'test15', 'test16', 'test17', 'test18', 'test19', 'test20']
    

     三、excel存放数据

    1.在excel中存放数据,第一行为标题,也就是对应字典里面的key值,如:username,passwd

    2.如果excel数据中有纯数字的一定要右键》设置单元格格式》文本格式,要不然读取的数据是浮点数(先设置单元格格式后编辑,编辑成功左上角有小三角图标)

    注意,我尝试先填写数字,再设置文本,未显示小三角图标;将数字内容删除,重写填写数字,显示小三角图标。 

     四、封装读取方法

    1.最终读取的数据是多个字典的list类型数据,第一行数据是字典里的key值,从第二行开始一一对应value值

    2.封装好后代码如下:

    import xlrd
    a=xlrd.open_workbook("D:\user.xlsx")
    table=a.sheet_by_name("user")
    nrows=table.nrows
    ncols=table.ncols
    print(nrows,ncols)#6,2
    key=table.row_values(0)
    result=[]
    n=1
    while n!=nrows:
        d={}
        v=table.row_values(n)
        # print(v)
        for i in range(ncols):#0,1
            d[key[i]]=v[i]
        result.append(d)
        n+=1
        # print(d)
    print(result)
    

     运行结果:

    6 2
    [{'username': 'test1', 'passwd': '3'}, {'username': 'test2', 'passwd': '4'}, {'username': 'test3', 'passwd': '5'}, {'username': 'test4', 'passwd': '6'}, {'username': 'test5', 'passwd': '7'}]
    

     整理成方法,代码如下:

    import xlrd
    def read_excel(filepath,sheetname):
        a=xlrd.open_workbook(filepath)
        table=a.sheet_by_name(sheetname)
        result=[]
        n=1
        nrow=table.nrows
        ncol=table.ncols
        key=table.row_values(0)
        while n!=nrow:
            d={}
            v=table.row_values(n)
            for i in range(ncol):
               d[key[i]]=v[i]
            result.append(d)
            n += 1
        return result
    
    print(read_excel("D:/user.xlsx","user"))
    

     运行结果:

    [{'username': 'test1', 'passwd': '3'}, {'username': 'test2', 'passwd': '4'}, {'username': 'test3', 'passwd': '5'}, {'username': 'test4', 'passwd': '6'}, {'username': 'test5', 'passwd': '7'}]
    

      

    越努力,越幸运!!! good good study,day day up!!!
  • 相关阅读:
    HDUOJ---------(1045)Fire Net
    HDUOJ----(1175)连连看
    HDUOJ-----(1072)Nightmare(bfs)
    deque容器的运用一点一点积累
    HDUOJ----(1016)Prime Ring Problem
    HDUOJ----Safecracker(1015)
    hduoj---Tempter of the Bone
    VC6.0设置注释快捷键
    nyoj------------找球号(一)
    set 容器 的全解(转)
  • 原文地址:https://www.cnblogs.com/canglongdao/p/13608764.html
Copyright © 2011-2022 走看看