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 相关文章推荐
videocapture库制作python视频高速传输程序
Dec 23 Python
Python语言的12个基础知识点小结
Jul 10 Python
python循环监控远程端口的方法
Mar 14 Python
python3.5仿微软计算器程序
Mar 30 Python
python中执行shell的两种方法总结
Jan 10 Python
详解使用 pyenv 管理多个版本 python 环境
Oct 19 Python
Python实现聊天机器人的示例代码
Jul 09 Python
Python实现的多叉树寻找最短路径算法示例
Jul 30 Python
Python反射和内置方法重写操作详解
Aug 27 Python
python多线程分块读取文件
Aug 29 Python
Python实现结构体代码实例
Feb 10 Python
在Mac中配置Python虚拟环境过程解析
Jun 22 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
ThinkPHP2.0读取MSSQL提示Incorrect syntax near the keyword 'AS'的解决方法
2014/06/25 PHP
php魔术方法功能与用法实例分析
2016/10/19 PHP
在IE下:float属性会影响offsetTop的取值
2006/12/22 Javascript
jquery 图片预加载 自动等比例缩放插件
2008/12/25 Javascript
js 分栏效果实现代码
2009/08/29 Javascript
JavaScript中__proto__与prototype的关系深入理解
2012/12/04 Javascript
js/ajax跨越访问-jsonp的原理和实例(javascript和jquery实现代码)
2012/12/27 Javascript
没有document.getElementByName方法
2013/08/19 Javascript
javascript实现表单提交后,提交按钮不可用的方法
2015/04/18 Javascript
简单分析javascript面向对象与原型
2015/05/21 Javascript
关于session和cookie的简单理解
2016/06/08 Javascript
理解JavaScript原型链
2016/10/25 Javascript
浅谈vue的iview列表table render函数设置DOM属性值的方法
2017/09/30 Javascript
浅谈React中的元素、组件、实例和节点
2018/02/27 Javascript
iview table高度动态设置方法
2018/03/14 Javascript
详解vue中v-model和v-bind绑定数据的异同
2020/08/10 Javascript
使用原生javascript开发计算器实例代码
2021/02/21 Javascript
Python读写Excel文件的实例
2013/11/01 Python
pycharm 使用心得(二)设置字体大小
2014/06/05 Python
python基于隐马尔可夫模型实现中文拼音输入
2016/04/01 Python
Python实现的建造者模式示例
2018/08/06 Python
python解析含有重复key的json方法
2019/01/22 Python
对python判断是否回文数的实例详解
2019/02/08 Python
使用 Python 玩转 GitHub 的贡献板(推荐)
2019/04/04 Python
关于多元线性回归分析——Python&SPSS
2020/02/24 Python
CSS3 text-shadow实现文字阴影效果
2016/02/24 HTML / CSS
CSS3颜色值RGBA与渐变色使用介绍
2020/03/06 HTML / CSS
《都江堰》教学反思
2014/02/07 职场文书
关于爱国的演讲稿
2014/05/07 职场文书
竞选班长演讲稿500字
2014/08/22 职场文书
小学生五年级大队长竞选发言稿
2014/09/12 职场文书
贪污受贿检讨书范文
2014/11/19 职场文书
谁动了我的奶酪读书笔记
2015/06/30 职场文书
教你如何用Python实现人脸识别(含源代码)
2021/06/23 Python
SQL实现LeetCode(180.连续的数字)
2021/08/04 MySQL
【海涛教你打DOTA】虚空假面第一视角骨弓3房29杀
2022/04/01 DOTA