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中decorator使用实例
Apr 14 Python
介绍Python的Urllib库的一些高级用法
Apr 30 Python
Python利用正则表达式匹配并截取指定子串及去重的方法
Jul 30 Python
使用python检测主机存活端口及检查存活主机
Oct 12 Python
详解Python中最难理解的点-装饰器
Apr 03 Python
Python 中字符串拼接的多种方法
Jul 30 Python
Ubuntu下Python2与Python3的共存问题
Oct 31 Python
python常用函数与用法示例
Jul 02 Python
python实现查找所有程序的安装信息
Feb 18 Python
构建高效的python requests长连接池详解
May 02 Python
如何从csv文件构建Tensorflow的数据集
Sep 21 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
为什么《星际争霸》是测试人工智能的理想战场
2019/12/03 星际争霸
PHP文件去掉PHP注释空格的函数分析(PHP代码压缩)
2013/07/02 PHP
php分页示例分享
2014/04/30 PHP
9条PHP编程小知识及易犯的小错误
2015/01/22 PHP
PHP实现对文件锁进行加锁、解锁操作的方法
2017/07/04 PHP
PHP基于自定义函数生成笛卡尔积的方法示例
2017/09/30 PHP
Jquery 设置标题的自动翻转
2009/10/03 Javascript
Javascript实现的鼠标经过时播放声音
2010/05/18 Javascript
js 文本滚动效果的实例代码
2013/08/17 Javascript
js中关于一个分号的崩溃示例
2013/11/11 Javascript
js中精确计算加法和减法示例
2014/03/28 Javascript
jQuery实现防止提交按钮被双击的方法
2015/03/24 Javascript
学习JavaScript设计模式之策略模式
2016/01/12 Javascript
零基础轻松学JavaScript闭包
2016/12/30 Javascript
详解JS实现系统登录页的登录和验证
2019/04/29 Javascript
Node.js API详解之 dgram模块用法实例分析
2020/06/05 Javascript
一个超级简单的python web程序
2014/09/11 Python
python3使用PyMysql连接mysql数据库实例
2017/02/07 Python
Python引用传值概念与用法实例小结
2017/10/07 Python
通过shell+python实现企业微信预警
2019/03/07 Python
Python3之字节串bytes与字节数组bytearray的使用详解
2019/08/27 Python
Python解压 rar、zip、tar文件的方法
2019/11/19 Python
使用python 将图片复制到系统剪贴中
2019/12/13 Python
浅析Python3 pip换源问题
2020/01/06 Python
Python正则表达式高级使用方法汇总
2020/06/18 Python
size?丹麦官网:英国伦敦的球鞋精品店
2019/04/15 全球购物
会计大学生职业生涯规划书范文
2014/01/13 职场文书
情人节活动策划方案
2014/02/27 职场文书
高二学年自我鉴定范文(2篇)
2014/09/26 职场文书
个人自我剖析材料
2014/09/30 职场文书
加强机关作风建设心得体会
2014/10/22 职场文书
教师个人年终总结
2015/02/11 职场文书
聊一聊python常用的编程模块
2021/05/14 Python
如何使用分区处理MySQL的亿级数据优化
2021/06/18 MySQL
浅谈Redis变慢的原因及排查方法
2022/06/21 Redis
小程序自定义轮播图圆点组件
2022/06/25 Javascript