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 字典(Dictionary)操作详解
Mar 11 Python
零基础写python爬虫之抓取糗事百科代码分享
Nov 06 Python
python实现在sqlite动态创建表的方法
May 08 Python
Python导入模块时遇到的错误分析
Aug 30 Python
python 打印直角三角形,等边三角形,菱形,正方形的代码
Nov 21 Python
Python编程二分法实现冒泡算法+快速排序代码示例
Jan 15 Python
Python中利用xpath解析HTML的方法
May 14 Python
Python自定义装饰器原理与用法实例分析
Jul 16 Python
使用wxpy实现自动发送微信消息功能
Feb 28 Python
python 读取.nii格式图像实例
Jul 01 Python
pandas map(),apply(),applymap()区别解析
Feb 24 Python
python代码实现扫码关注公众号登录的实战
Nov 01 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自动选择 连接本地还是远程数据库
2010/12/02 PHP
php5.x禁用eval的操作方法
2018/10/19 PHP
如何设置iframe高度自适应在跨域情况下的可用方法
2013/09/06 Javascript
提取字符串中年月日的函数代码
2013/11/05 Javascript
JavaScript实现的内存数据库LokiJS介绍和入门实例
2014/11/17 Javascript
js查找节点的方法小结
2015/01/13 Javascript
JavaScript多线程详解
2015/08/12 Javascript
Javascript实现的简单右键菜单类
2015/09/23 Javascript
ajax在兼容模式下失效的快速解决方法
2016/03/22 Javascript
jQuery Ajax 异步加载显示等待效果代码分享
2016/08/01 Javascript
jQuery与JS加载事件用法分析
2016/09/04 Javascript
jQuery源码分析之init的详细介绍
2017/02/13 Javascript
基于JavaScript实现类名的添加与移除
2017/04/23 Javascript
[js高手之路]从原型链开始图解继承到组合继承的产生详解
2017/08/28 Javascript
React Native 截屏组件的示例代码
2017/12/06 Javascript
JS 正则表达式验证密码、邮箱格式的实例代码
2018/10/28 Javascript
Vue实现仿iPhone悬浮球的示例代码
2020/03/13 Javascript
JS Generator 函数的含义与用法实例总结
2020/04/08 Javascript
微信小程序实现多张图片上传功能
2020/11/18 Javascript
利用Python批量压缩png方法实例(支持过滤个别文件与文件夹)
2017/07/30 Python
Python实现的求解最小公倍数算法示例
2018/05/03 Python
Python实现隐马尔可夫模型的前向后向算法的示例代码
2019/12/31 Python
python 实现人和电脑猜拳的示例代码
2020/03/02 Python
python中get和post有什么区别
2020/06/19 Python
HTML5移动开发图片压缩上传功能
2016/11/09 HTML / CSS
香港家用健身器材、运动器材及健康美容仪器专门店:FitBoxx
2019/12/05 全球购物
新员工试用期自我鉴定
2014/04/17 职场文书
门店业绩提升方案
2014/06/08 职场文书
社区创先争优承诺书
2014/08/30 职场文书
党支部书记四风问题整改措施
2014/09/24 职场文书
机票销售员态度不好检讨书
2014/09/27 职场文书
大三学生英语考试作弊检讨书
2015/01/01 职场文书
党员承诺书范文2015
2015/04/27 职场文书
思想工作总结范文
2015/08/12 职场文书
Python可视化学习之seaborn调色盘
2022/02/24 Python
如何利用python实现Simhash算法
2022/06/28 Python