博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python操作Excel读写--使用xlrd
阅读量:6230 次
发布时间:2019-06-21

本文共 2592 字,大约阅读时间需要 8 分钟。

一、安装xlrd模块

   到python官网下载模块安装,前提是已经安装了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数据。

   

1 # -*- coding: utf-8 -*-  2 import  xdrlib ,sys  3 import xlrd  4 def open_excel(file= 'file.xls'):  5     try:  6         data = xlrd.open_workbook(file)  7         return data  8     except Exception,e:  9         print str(e) 10 #根据索引获取Excel表格中的数据   参数:file:Excel文件路径     colnameindex:表头列名所在行的所以  ,by_index:表的索引 11 def excel_table_byindex(file= 'file.xls',colnameindex=0,by_index=0): 12     data = open_excel(file) 13     table = data.sheets()[by_index] 14     nrows = table.nrows #行数 15     ncols = table.ncols #列数 16     colnames =  table.row_values(colnameindex) #某一行数据 17     list =[] 18     for rownum in range(1,nrows): 19 20          row = table.row_values(rownum) 21          if row: 22              app = {} 23              for i in range(len(colnames)): 24                 app[colnames[i]] = row[i] 25              list.append(app) 26     return list 27 28 #根据名称获取Excel表格中的数据   参数:file:Excel文件路径     colnameindex:表头列名所在行的所以  ,by_name:Sheet1名称 29 def excel_table_byname(file= 'file.xls',colnameindex=0,by_name=u'Sheet1'): 30     data = open_excel(file) 31     table = data.sheet_by_name(by_name) 32     nrows = table.nrows #行数 33     colnames =  table.row_values(colnameindex) #某一行数据 34     list =[] 35     for rownum in range(1,nrows): 36          row = table.row_values(rownum) 37          if row: 38              app = {} 39              for i in range(len(colnames)): 40                 app[colnames[i]] = row[i] 41              list.append(app) 42     return list 43 44 def main(): 45    tables = excel_table_byindex() 46    for row in tables: 47        print row 48 49    tables = excel_table_byname() 50    for row in tables: 51        print row 52 53 if __name__=="__main__": 54     main()
 

转载于:https://www.cnblogs.com/cdjiangchao/p/3897775.html

你可能感兴趣的文章
中国联通开展多场景蜂窝车联网业务示范
查看>>
1星|《追随》:洞察力太差,有效信息太少,咨询经验太少(举的例子以跟自己孩子的互动为主)...
查看>>
Android:MVC模式(上)
查看>>
vi编辑器的使用(2)
查看>>
bootstrap-.col-md-* 栅格类
查看>>
解释器模式-类行为型
查看>>
虚拟现实强势“入侵”游戏盛典China Joy
查看>>
bootstrap-分页导航(翻页分页导航)
查看>>
innobackupex备份mysql数据库
查看>>
HTML5新标签的兼容性处理
查看>>
iptables学习笔记
查看>>
jQuery中的$(window)与$(document)的用法区别
查看>>
java中多种写文件方式的效率对比实验
查看>>
Cisco 2960 配置
查看>>
阿里大鱼数据库存储方案
查看>>
if判断的几种用法
查看>>
mysql安装与初始配置
查看>>
su命令
查看>>
linux 安装nginx
查看>>
建议把.CSV的默认打开方式改成任意一个文本 编辑器,系统自带的记事本就是个不错的选择...
查看>>