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连接sql server乱码的解决方法
Jan 28 Python
python模拟鼠标拖动操作的方法
Mar 11 Python
Java实现的执行python脚本工具类示例【使用jython.jar】
Mar 29 Python
python 字符串和整数的转换方法
Jun 25 Python
详解Python 正则表达式模块
Nov 05 Python
浅析PEP570新语法: 只接受位置参数
Oct 15 Python
Python使用turtle库绘制小猪佩奇(实例代码)
Jan 16 Python
pycharm内无法import已安装的模块问题解决
Feb 12 Python
Python全面分析系统的时域特性和频率域特性
Feb 26 Python
查看jupyter notebook每个单元格运行时间实例
Apr 22 Python
python+flask编写一个简单的登录接口
Nov 13 Python
python爬虫用scrapy获取影片的实例分析
Nov 23 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扩展框架之Yaf框架的安装与使用
2016/05/18 PHP
jquery动态加载select下拉框示例代码
2013/12/10 Javascript
sliderToggle在写jquery的计时器setTimeouter中不生效
2014/05/26 Javascript
关于JavaScript中name的意义冲突示例介绍
2014/05/29 Javascript
ext前台接收action传过来的json数据示例
2014/06/17 Javascript
jquery的总体架构分析及实现示例详解
2014/11/08 Javascript
javascript弹出窗口实现代码
2015/11/12 Javascript
jQuery时间插件jquery.clock.js用法实例(5个示例)
2016/01/14 Javascript
JavaScript数组操作函数汇总
2016/08/05 Javascript
微信小程序 页面传参实例详解
2016/11/16 Javascript
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
2016/12/14 Javascript
js实现功能比较全面的全选和多选
2017/03/02 Javascript
微信小程序报错:this.setData is not a function的解决办法
2017/09/27 Javascript
利用node实现一个批量重命名文件的函数
2017/12/21 Javascript
nodejs微信扫码支付功能实现
2018/02/17 NodeJs
基于JS实现带动画效果的流程进度条
2018/06/01 Javascript
中级前端工程师必须要掌握的27个JavaScript 技巧(干货总结)
2019/09/23 Javascript
vue+element树组件 实现树懒加载的过程详解
2019/10/21 Javascript
vue 动态组件用法示例小结
2020/03/06 Javascript
[01:54]胎教DOTA2 准妈妈玩家现身中国区预选赛
2016/06/26 DOTA
python 动态获取当前运行的类名和函数名的方法
2014/04/15 Python
python关闭windows进程的方法
2015/04/18 Python
使用py2exe在Windows下将Python程序转为exe文件
2016/03/04 Python
Python爬取三国演义的实现方法
2016/09/12 Python
安装python时MySQLdb报错的问题描述及解决方法
2018/03/20 Python
TensorFlow 合并/连接数组的方法
2018/07/27 Python
Django 限制用户访问频率的中间件的实现
2018/08/23 Python
详解python中list的使用
2019/03/15 Python
浅析Python 多行匹配模式
2020/07/24 Python
python判断字符串以什么结尾的实例方法
2020/09/18 Python
Python爬虫回测股票的实例讲解
2021/01/22 Python
S’well Bottle保温杯官网:绝缘不锈钢水瓶
2018/05/09 全球购物
机械工程系毕业生求职信
2013/09/27 职场文书
感恩的演讲稿
2014/05/06 职场文书
国家助学金感谢信
2015/01/21 职场文书
2016春节家属慰问信
2015/03/25 职场文书