python使用xlrd模块读写Excel文件的方法
本文实例讲述了python使用xlrd模块读写Excel文件的方法。分享给大家供大家参考。具体如下:
一、安装xlrd模块
到python官网下载http://pypi.python.org/pypi/xlrd模块安装,前提是已经安装了python 环境。
二、使用介绍
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')#通过名称获取
获取整行和整列的值(数组) 
代码如下:
table.row_values(i) table.col_values(i)
获取行数和列数 
代码如下:
nrows = table.nrows ncols = table.ncols
循环行列表数据 
代码如下:
for i in range(nrows ): print table.row_values(i)
单元格 
代码如下:
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
简单的写入 
代码如下:
row = 0 col = 0 # 类型 0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error ctype = 1 value = '单元格的值' xf = 0 # 扩展的格式化 table.put_cell(row, col, ctype, value, xf) table.cell(0,0) #单元格的值' table.cell(0,0).value #单元格的值'
三、Demo代码
Demo代码其实很简单,就是读取Excel数据。
# -*- coding: utf-8 -*-
 import xdrlib ,sys
 import xlrd
 def open_excel(file= 'file.xls'):
   try:
     data = xlrd.open_workbook(file)
     return data
   except Exception,e:
     print str(e)
 #根据索引获取Excel表格中的数据  参数:file:Excel文件路径   colnameindex:表头列名所在行的所以 ,by_index:表的索引
 def excel_table_byindex(file= 'file.xls',colnameindex=0,by_index=0):
   data = open_excel(file)
   table = data.sheets()[by_index]
   nrows = table.nrows #行数
   ncols = table.ncols #列数
   colnames = table.row_values(colnameindex) #某一行数据
   list =[]
   for rownum in range(1,nrows):
     row = table.row_values(rownum)
     if row:
       app = {}
       for i in range(len(colnames)):
         app[colnames[i]] = row[i]
       list.append(app)
   return list
 #根据名称获取Excel表格中的数据  参数:file:Excel文件路径   colnameindex:表头列名所在行的所以 ,by_name:Sheet1名称
 def excel_table_byname(file= 'file.xls',colnameindex=0,by_name=u'Sheet1'):
   data = open_excel(file)
   table = data.sheet_by_name(by_name)
   nrows = table.nrows #行数
   colnames = table.row_values(colnameindex) #某一行数据
   list =[]
   for rownum in range(1,nrows):
     row = table.row_values(rownum)
     if row:
       app = {}
       for i in range(len(colnames)):
         app[colnames[i]] = row[i]
       list.append(app)
   return list
 def main():
  tables = excel_table_byindex()
  for row in tables:
    print row
  tables = excel_table_byname()
  for row in tables:
    print row
 if __name__=="__main__":
   main()希望本文所述对大家的Python程序设计有所帮助。
相关推荐
  Leewoxinyiran    2020-07-19  
   柠檬班    2020-07-04  
   ericxieforever    2020-06-21  
   flycony    2020-07-05  
   magicandy    2020-07-04  
   sulindong0    2020-05-18  
   meylovezn    2019-12-17  
   JakobHu    2019-11-04  
   ITxiaobaibai    2019-10-30  
   socket    2019-09-02  
   Kwong    2019-06-30  
   dxbjfu0    2019-06-26  
   shengge0    2014-02-07  
   Fitzzhang    2018-09-16  
   lingchen    2018-09-05  
   qinglv    2018-06-21  
   wyqwilliam    2018-01-31  
   Datawhale    2017-09-12  
   blackeagleoht    2017-01-21  
 