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中操作字符串之rstrip()方法的使用
May 19 Python
Python实现模拟时钟代码推荐
Nov 08 Python
python中模块的__all__属性详解
Oct 26 Python
Pandas探索之高性能函数eval和query解析
Oct 28 Python
Python 读取图片文件为矩阵和保存矩阵为图片的方法
Apr 27 Python
Python 使用PIL numpy 实现拼接图片的示例
May 08 Python
python实现简易内存监控
Jun 21 Python
Window环境下Scrapy开发环境搭建
Nov 18 Python
Django实现文件上传和下载功能
Oct 06 Python
Python线程指南分享
Nov 19 Python
MoviePy常用剪辑类及Python视频剪辑自动化
Dec 18 Python
AI:如何训练机器学习的模型
Apr 16 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/07/05 PHP
php通过asort()给关联数组按照值排序的方法
2015/03/18 PHP
php基于双向循环队列实现历史记录的前进后退等功能
2015/08/08 PHP
PHP高效获取远程图片尺寸和大小的实现方法
2017/10/20 PHP
PHP7 windows支持
2021/03/09 PHP
javascript中String对象的slice()方法分析
2014/12/20 Javascript
深入浅出分析javaScript中this用法
2015/05/09 Javascript
javaScript实现滚动新闻的方法
2015/07/30 Javascript
js鼠标点击图片切换效果实现代码
2015/11/19 Javascript
全面了解JavaScript的数据类型转换
2016/07/01 Javascript
JavaScript队列、优先队列与循环队列
2016/11/14 Javascript
简单好用的nodejs 爬虫框架分享
2017/03/26 NodeJs
一个有意思的鼠标点击文字特效jquery代码
2017/09/23 jQuery
webpack项目轻松混用css module的方法
2018/06/12 Javascript
js计算两个日期间的天数月的实例代码
2018/09/20 Javascript
详解Vuex下Store的模块化拆分实践
2019/07/31 Javascript
layui点击弹框页面 表单请求的方法
2019/09/21 Javascript
JS实现省市县三级下拉联动
2020/04/10 Javascript
微信小程序调用wx.getImageInfo遇到的坑解决
2020/05/31 Javascript
[42:32]完美世界DOTA2联赛循环赛 Magma vs PXG BO2第二场 10.28
2020/10/28 DOTA
Python分支结构(switch)操作简介
2018/01/17 Python
Python操作mongodb的9个步骤
2018/06/04 Python
Python实战购物车项目的实现参考
2019/02/20 Python
Djang的model创建的字段和参数详解
2019/07/27 Python
python利用7z批量解压rar的实现
2019/08/07 Python
使用python的pyplot绘制函数实例
2020/02/13 Python
分享一枚pycharm激活码适用所有pycharm版本我的pycharm2020.2.3激活成功
2020/11/20 Python
英国领先的隐形眼镜在线供应商:Lenstore.co.uk
2019/11/24 全球购物
JPA的特点
2014/10/25 面试题
《画杨桃》教学反思
2014/04/13 职场文书
离婚协议书范本样本
2014/08/19 职场文书
见习报告的格式
2014/10/31 职场文书
2014年妇幼保健工作总结
2014/12/08 职场文书
上诉答辩状范文
2015/05/22 职场文书
2016年社区党支部公开承诺书
2016/03/25 职场文书
vue使用element-ui按需引入
2022/05/20 Vue.js