python使用xlrd模块读写Excel文件的方法


Posted in Python onMay 06, 2015

本文实例讲述了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程序设计有所帮助。

Python 相关文章推荐
Python实现周期性抓取网页内容的方法
Nov 04 Python
理论讲解python多进程并发编程
Feb 09 Python
python3如何将docx转换成pdf文件
Mar 23 Python
Windows 8.1 64bit下搭建 Scrapy 0.22 环境
Nov 18 Python
Python设计模式之建造者模式实例详解
Jan 17 Python
对python字典过滤条件的实例详解
Jan 22 Python
Python爬虫实现使用beautifulSoup4爬取名言网功能案例
Sep 15 Python
python cv2在验证码识别中应用实例解析
Dec 25 Python
TensorFlow的环境配置与安装教程详解(win10+GeForce GTX1060+CUDA 9.0+cuDNN7.3+tensorflow-gpu 1.12.0+python3.5.5)
Jun 22 Python
用python进行视频剪辑
Nov 02 Python
Django如何创作一个简单的最小程序
May 12 Python
Python数组变形的几种实现方法
May 30 Python
在Python中使用全局日志时需要注意的问题
May 06 #Python
python通过post提交数据的方法
May 06 #Python
python实现逆波兰计算表达式实例详解
May 06 #Python
编写Python脚本批量下载DesktopNexus壁纸的教程
May 06 #Python
在Windows服务器下用Apache和mod_wsgi配置Python应用的教程
May 06 #Python
利用Python脚本在Nginx和uwsgi上部署MoinMoin的教程
May 05 #Python
Python实现的HTTP并发测试完整示例
Apr 23 #Python
You might like
比较简单的百度网盘文件直链PHP代码
2013/03/24 PHP
php制作动态随机验证码
2015/02/12 PHP
PHP连接MSSQL方法汇总
2016/02/05 PHP
PHP在弹框中获取foreach中遍历的id值并传递给地址栏
2017/06/13 PHP
IE JS编程需注意的内存释放问题
2009/06/23 Javascript
JQuery 网站换肤功能实现代码
2009/11/02 Javascript
基于jquery的不规则矩形的排列实现代码
2012/04/16 Javascript
用javascript关闭本窗口不弹出询问框的方法
2014/09/12 Javascript
javascript去除字符串左右两端的空格
2015/02/05 Javascript
jQuery源码解读之removeAttr()方法分析
2015/02/20 Javascript
JS运动基础框架实例分析
2015/03/03 Javascript
js简单实现竖向tab选项卡的方法
2015/05/04 Javascript
基于BootStrap Metronic开发框架经验小结【五】Bootstrap File Input文件上传插件的用法详解
2016/05/12 Javascript
动态更新highcharts数据的实现方法
2016/05/28 Javascript
JavaScript基本类型值-Undefined、Null、Boolean
2017/02/23 Javascript
AngularJS 霸道的过滤器小结
2017/04/26 Javascript
node.js中grunt和gulp的区别详解
2017/07/17 Javascript
基于react后端渲染模板引擎noox发布使用
2018/01/11 Javascript
vue嵌套路由与404重定向实现方法分析
2018/05/04 Javascript
JavaScript数据结构与算法之基本排序算法定义与效率比较【冒泡、选择、插入排序】
2019/02/21 Javascript
解决layui追加或者动态修改的表单元素“没效果”的问题
2019/09/18 Javascript
微信小程序 scroll-view 实现锚点跳转功能
2019/12/12 Javascript
为Python的web框架编写MVC配置来使其运行的教程
2015/04/30 Python
Python通过命令开启http.server服务器的方法
2017/11/04 Python
python代码过长的换行方法
2018/07/19 Python
美国女士时尚珠宝及配饰购物网站:Icing
2018/07/02 全球购物
劳力士官方珠宝商:J.R. Dunn Jewelers
2018/09/29 全球购物
平面设计岗位职责
2013/12/14 职场文书
学校采购员岗位职责
2014/01/02 职场文书
市场营销策划方案
2014/06/11 职场文书
习总书记三严三实学习心得体会
2014/10/13 职场文书
2014年班务工作总结
2014/12/02 职场文书
2014社会治安综合治理工作总结
2014/12/04 职场文书
出纳2015年度工作总结范文
2015/10/14 职场文书
2016大一新生入学教育心得体会
2016/01/23 职场文书
JavaScript架构localStorage特殊场景下二次封装操作
2022/06/21 Javascript