Python 使用xlrd库读取excel,获取最大行和最大列等

xlrd库提供对excel的读操作,下载地址为https://pypi.python.org/pypi/xlrd,xlrd库的安装可以参考本文的另一篇博文http://blog.csdn.net/u011974126/article/details/51073076
1、打开excel文件
xlrd提供open_workbook()函数来打开excel文件,示例如下:

data=xlrd.open_workbook('E:\\telebook.xls')在使用xlrd的函数之前需要先先引用xlrd库:


import xlrd如果excel中包含中文,需要设置编码格式为utf-8,Python3.x以上的版本不需要设置,Python3.x版本默认格式为unicode,而Python2.x的默认格式为ASCII,设置编码格式的代码为:


# -*- coding: utf-8 -*-
2、读取excel表

xlrd模块提供三种方式读取excel表,对应为三个函数:sheets()、sheet_by_index()、sheet_by_name().
sheets()函数获取该excel的所有sheet的清单,返回所有sheet表头的列表。实验图如图一所示:

图一
要访问某个具体的sheet,可以直接访问列表sheets的元素即可。
由于telebook.xls中有三张sheet,因此上图中列表sheets有三个元素。
sheet_by_index()函数通过索引号来获取想要得到的sheet,返回类型为Sheet的变量,实验图如图二:
  
           
图二
从图一和图二中可以看到,图二中的sheet1的值,正是图一中列表sheets中的第一个元素。
sheet_by_name()函数通过sheet名来获得想要的sheet,telebook.xls中第一张sheet的名为Sheet1,下图为使用名字Sheet1来获取第一张sheet。实验图如图三所示。

图三
从图三中可以看到,通过名字sheet1访问得到的与图二中通过索引得到的sheet的结果一致。
3、读取excel中的元素
xlrd提供函数获得excel的行数和列数,以及逐行、逐列获取表格的内容,并提供直接访问表格单元的功能。
获取sheet的行数:

nRows=sheet1.nrows

获得sheet的列数:

nCols=sheet1.ncols
获得整行的数据内容:


rowData=sheet1.row_values(i)#获取第i行的数据内容获得整列的数据内容:

 

colData=sheet1.col_values(i)#获取第i列的数据内容图四为telebook.xls中第一行和第五列的访问实验图:


图四
xlrd库还提供对excel表格单元的直接访问。

cell15=sheet1.cell(i,j).value  #访问单元格(i,j),第i行,第j列

最后给出一个简单的完整的访问telebook.xls的元素并输出的程序:

# -*- coding: utf-8 -*- import xlrd data=xlrd.open_workbook('E:\\telebook.xls')table=data.sheet_by_name('Sheet1') nRow=table.nrowsnCol=table.ncols print(nRow)print(nCol) list1=[] for i in range(nRow):    for j in range(nCol):        print(i,j,str(table.row_values(i)[j]))        list1.append(str(table.row_values(i)[j]))  print('\n')print(list1)
--------------------- 
作者:银霜覆秋枫 
来源:CSDN 
原文:https://blog.csdn.net/u011974126/article/details/51076571 
版权声明:本文为博主原创文章,转载请附上博文链接!

你可能感兴趣的:(Excel)