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中使用logging模块代替print(logging简明指南)
Jul 09 Python
Python import自定义模块方法
Feb 12 Python
python 多线程实现检测服务器在线情况
Nov 25 Python
python监控linux内存并写入mongodb(推荐)
Sep 11 Python
解决Python plt.savefig 保存图片时一片空白的问题
Jan 10 Python
Python中如何导入类示例详解
Apr 17 Python
Django框架模板的使用方法示例
May 25 Python
python如何制作英文字典
Jun 25 Python
Python 如何提高元组的可读性
Aug 26 Python
如何使用python3获取当前路径及os.path.dirname的使用
Dec 13 Python
Tensorflow 模型转换 .pb convert to .lite实例
Feb 12 Python
Python json解析库jsonpath原理及使用示例
Nov 25 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
利用js调用后台php进行数据处理原码
2006/10/09 PHP
一个简洁的PHP可逆加密函数(分享)
2013/06/06 PHP
is_uploaded_file函数引发的不能上传文件问题
2013/10/29 PHP
php生成随机数的三种方法
2014/09/10 PHP
php实现概率性随机抽奖代码
2016/01/02 PHP
PHP实现批量清空删除指定文件夹所有内容的方法
2017/05/30 PHP
JQuery.uploadify 上传文件插件的使用详解 for ASP.NET
2010/01/22 Javascript
jquery each()源代码
2011/02/14 Javascript
Jquery实现鼠标移上弹出提示框、移出消失思路及代码
2013/05/19 Javascript
jquery ajax跨域解决方法(json方式)
2014/02/04 Javascript
jQuery选择器简明总结(含用法实例,一目了然)
2014/04/25 Javascript
js实现文字滚动效果
2016/03/03 Javascript
jQuery EasyUI Accordion可伸缩面板组件使用详解
2017/02/28 Javascript
js中的DOM模拟购物车功能
2017/03/22 Javascript
Vue cli+mui 区域滚动的实例代码
2018/01/25 Javascript
jquery实现动态添加附件功能
2018/10/23 jQuery
微信小程序自定义波浪组件使用方法详解
2019/09/21 Javascript
微信小程序实现锚点功能
2019/11/20 Javascript
通过GASP让vue实现动态效果实例代码详解
2019/11/24 Javascript
Python rstrip()方法实例详解
2018/11/11 Python
Pytorch加载部分预训练模型的参数实例
2019/08/18 Python
详解python环境安装selenium和手动下载安装selenium的方法
2020/03/17 Python
使用 prometheus python 库编写自定义指标的方法(完整代码)
2020/06/29 Python
HTML5 实现图片上传预处理功能
2020/02/06 HTML / CSS
加拿大时装零售商:Influence U
2018/12/22 全球购物
在线吉他课程,学习如何弹吉他:Fender Play
2019/02/28 全球购物
认识深刻的检讨书
2014/02/16 职场文书
融资租赁计划书
2014/04/29 职场文书
投标人廉洁自律承诺书
2014/05/26 职场文书
企业宣传标语
2014/06/09 职场文书
简单租房协议书范本
2014/08/20 职场文书
社区创先争优承诺书
2014/08/30 职场文书
事业单位考察材料范文
2014/12/25 职场文书
求职自荐信范文(优秀篇)
2015/03/27 职场文书
入党培养人考察意见
2015/06/08 职场文书
婚礼长辈答谢词
2015/09/29 职场文书