python读取excel文件

来源:互联网 发布:数据分析 知乎 编辑:程序博客网 时间:2024/05/01 02:10

一、xlrd的说明

xlrd是专门用来在python中读取excel文档的模块,使用前需要安装。

可以到这https://pypi.python.org/pypi/xlrd进行下载tar.gz文件,然后解压缩安装,在cmd命令窗口中切换到解压后的文件夹中,使用

python setup.py install

进行安装。

方法二、

使用pip进行安装

pip install xlrd

二、使用介绍

1导入模块

  import xlrd

2 打开excel文件

  data = xlrd.open_workbook('excelFile.xls')

3 获取一个工作表方法

  table = data.sheets()[0]          #通过索引顺序获取

  table = data.sheet_by_index(0) #通过索引顺序获取 

  table = data.sheet_by_name(u'Sheet1')#通过名称获取
 
4 获取整行或整列的值,-->返回数组
  table.row_values(i)
  table.col_values(i)
 
5 获取行数和列数
  nrows = table.nrows
  ncols = table.ncols
 
6 循环表获取行数据,--->返回数据
   for i in range(nrows ):
        print table.row_values(i)
 
7 单元格
  cell_A1 = table.cell(0,0).value
  cell_C4 = table.cell(2,3).value
 
也可以使用行列号进行索引
   
cell_A1 = table.row(0)[0].value
   
cell_A2 = table.col(1)[0].value
 
 
 
 
 
8 sheet的一些属性
 
 
 
  name获取此时工作表的名字,print table.name
 
 
 
  
 
 
 
 三、添加数据到excel文件
 
  要使用xlutils包里面的copy函数,将xlrd打开的workbook转换到xlwt可以写的状态
  
复制代码
def writeHeaderToXls(self):        oldwb = xlrd.open_workbook(self.resultFileName,formatting_info=True)        os.remove(self.resultFileName)        newwb = copy(oldwb)                for sheetindex in range(oldwb.nsheets):            oldsheet = oldwb.sheet_by_index(sheetindex)            colLength = oldsheet.ncols            newsheet = newwb.get_sheet(sheetindex)            for i in range(colLength):                title = "level %d th"%(i+1)                newsheet.row(0).write(i,title)                        newwb.save(self.resultFileName)
复制代码
0 0