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脚本在Appium库上对移动应用实现自动化测试
Apr 17 Python
python统计文本字符串里单词出现频率的方法
May 26 Python
Python导出DBF文件到Excel的方法
Jul 25 Python
Python 常用 PEP8 编码规范详解
Jan 22 Python
OpenCV实现人脸识别
Apr 07 Python
Python进阶之使用selenium爬取淘宝商品信息功能示例
Sep 16 Python
Python Tornado之跨域请求与Options请求方式
Mar 28 Python
python 19个值得学习的编程技巧
Aug 15 Python
简单的命令查看安装的python版本号
Aug 28 Python
解决PDF 转图片时丢文字的一种可能方式
Mar 04 Python
Python+uiautomator2实现自动刷抖音视频功能
Apr 29 Python
Python Pycharm虚拟下百度飞浆PaddleX安装报错问题及处理方法(亲测100%有效)
May 24 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桌面中心(二) 数据库写入
2007/03/11 PHP
Php 构造函数construct的前下划线是双的_
2009/12/08 PHP
php中经典方法实现判断多维数组是否为空
2011/10/23 PHP
PHP SPL使用方法和他的威力
2013/11/12 PHP
ThinkPHP框架实现导出excel数据的方法示例【基于PHPExcel】
2018/05/12 PHP
javascript firefox不显示本地预览图片问题的解决方法
2008/11/12 Javascript
javascript 极速 隐藏/显示万行表格列只需 60毫秒
2009/03/28 Javascript
JavaScript Accessor实现说明
2010/12/06 Javascript
JQuery实现table行折叠效果以JSON做数据源
2014/05/26 Javascript
JS密码生成与强度检测完整实例(附demo源码下载)
2016/04/06 Javascript
基于JS代码实现导航条弹出式悬浮菜单
2016/06/17 Javascript
常用的js验证和数据处理总结
2016/08/02 Javascript
vue.js表格分页示例
2016/10/18 Javascript
Linux使用Node.js建立访问静态网页的服务实例详解
2017/03/21 Javascript
各种选择框jQuery的选中方法(实例讲解)
2017/06/27 jQuery
vue axios登录请求拦截器
2018/04/02 Javascript
[01:17:47]TNC vs VGJ.S 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python中zip()方法应用实例分析
2016/04/16 Python
python设计模式大全
2016/06/27 Python
Python通过命令开启http.server服务器的方法
2017/11/04 Python
对python3新增的byte类型详解
2018/12/04 Python
8段用于数据清洗Python代码(小结)
2019/10/31 Python
python opencv把一张图片嵌入(叠加)到另一张图片上的实现代码
2020/06/11 Python
Meli Melo官网:名媛们钟爱的英国奢侈手包品牌
2017/04/17 全球购物
L’AGENCE官网:加州女装品牌
2018/06/03 全球购物
波兰最大的宠物用品网上商店:FERA.PL
2019/08/11 全球购物
Fox Racing官方网站:越野摩托车和山地自行车装备和服装
2019/12/23 全球购物
工作保证书范文
2014/04/29 职场文书
保安公司服务承诺书
2014/05/28 职场文书
2015年电话销售工作总结范文
2015/04/20 职场文书
2015年乡镇卫生院工作总结
2015/04/22 职场文书
2015年九一八事变纪念活动实施方案
2015/05/06 职场文书
催款函范本大全
2015/06/24 职场文书
送给自己的励志语句:要安静的优秀,悄无声息的坚强
2019/11/26 职场文书
python使用PySimpleGUI设置进度条及控件使用
2021/06/10 Python
Python Django项目和应用的创建详解
2021/11/27 Python