读取excel 数据

import xlrd


def read_xls(file):
    # 打开xls文件
    data = xlrd.open_workbook(file)
    # 打开所有表
    tables = data.sheets()
    for table in tables:
        # 获取表的行数
        nrows = table.nrows
        # 逐行打印
        for i in range(nrows):
            if i == 0:
                # 跳过第一行
                continue
            lst = table.row_values(i)  # 一行所有列
            print(lst)
def read_xls2(file):
    # 打开xls文件
    data = xlrd.open_workbook(file)
    # 获取第一张sheet
    table = data.sheets()[0]
    print(table)
    # 获取第一张sheet
    print(data.sheet_by_index(0))
    # 获取book 中所有工作表的名字
    names = data.sheet_names()
    print(names)
    # 检查某个sheet 是否导入完毕
    b = data.sheet_loaded(0)
    #
    b = data.sheet_loaded("Sheet1")
    print(b)

# 1. 行的操作
    #  获取 有效果行数
    nrows = table.nrows
    # print(nrows)
    # 返回有该行所有单元格对象组成的列表
    lst = table.row(0) # [text:'序号', text:'姓名', text:'年龄']
    lst = table.row(1) # [number:1.0, text:'deng1', number:21.0]'年龄']
    # print(lst)
    # 切某行中的哪几列,第一行中,1到2列单元格对象
    lst =table.row_slice(0,0,2) #[text:'序号', text:'姓名']

    # print(lst)
    for i in lst:
        print(i.value) # 获取单元格的值

    # #返回该行的有效单元格个数或长度
    num = table.row_len(0)
    print(num)
#2 .列操作
    # 获取列表的有效列数
    ncols = table.ncols
    print("sheet_name=%s,有%s列"%(table.name,ncols))
    lst =table.col(0,0,4) # 第一列,1到4行 [text:'序号', number:1.0, number:2.0, number:3.0]
    print(lst)
    lst= table.col_slice(0,0,4)# 第一列,1到4行 [text:'序号', number:1.0, number:2.0, number:3.0]
    print(lst)
    ##返回由该列中所有单元格的数据类型组成的列表
    lst= table.col_types(0,0,4) # [1, 2, 2, 2]
    print(lst)
    # 返回由该列中所有单元格的数据组成的列表
    lst = table.col_values(0, 0, 4) # ['序号', 1.0, 2.0, 3.0]
    print(lst)

file = "t.xlsx"
read_xls2(file)

参考来源:https://www.cnblogs.com/insane-Mr-Li/p/9092619.html

posted @ 2020-09-01 00:12  冰底熊  阅读(161)  评论(0)    收藏  举报