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三元运算符实现方法
Dec 17 Python
跟老齐学Python之有容乃大的list(4)
Sep 28 Python
Python实现程序的单一实例用法分析
Jun 03 Python
Python实现PS图像调整之对比度调整功能示例
Jan 26 Python
Python装饰器原理与用法分析
Apr 30 Python
python 日期操作类代码
May 05 Python
python批量修改文件编码格式的方法
May 31 Python
基于Python的微信机器人开发 微信登录和获取好友列表实现解析
Aug 21 Python
详解python tkinter模块安装过程
Jan 06 Python
Python tkinter三种布局实例详解
Jan 06 Python
Python实现ATM系统
Feb 17 Python
Python列表切片常用操作实例解析
Mar 10 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
用Socket发送电子邮件
2006/10/09 PHP
PHP下操作Linux消息队列完成进程间通信的方法
2010/07/24 PHP
php 无法加载mcrypt.dll的解决办法
2013/04/03 PHP
Symfony2创建页面实例详解
2016/03/18 PHP
PHP基于timestamp和nonce实现的防止重放攻击方案分析
2019/07/26 PHP
laravel-admin 实现在指定的相册下添加照片
2019/10/21 PHP
jquery实现用户信息修改验证输入方法汇总
2015/07/18 Javascript
jQuery实现右侧显示可向左滑动展示的深色QQ客服效果代码
2015/10/23 Javascript
jQuery ajaxSubmit 实现ajax提交表单局部刷新
2016/07/04 Javascript
Vue中引入样式文件的方法
2017/08/18 Javascript
Nodejs 发布自己的npm包并制作成命令行工具的实例讲解
2018/05/15 NodeJs
Express的HTTP重定向到HTTPS的方法
2018/06/06 Javascript
微信小程序拍照和摄像功能实现方法示例
2019/02/01 Javascript
使用vue中的混入mixin优化表单验证插件问题
2019/07/02 Javascript
微信小程序获取用户绑定手机号方法示例
2019/07/21 Javascript
JS数组方法concat()用法实例分析
2020/01/18 Javascript
JavaScript实现点击自制菜单效果
2021/02/02 Javascript
Python使用剪切板的方法
2017/06/06 Python
PyQt5主窗口动态加载Widget实例代码
2018/02/07 Python
将TensorFlow的模型网络导出为单个文件的方法
2018/04/23 Python
如何使用Python进行OCR识别图片中的文字
2019/04/01 Python
python脚本当作Linux中的服务启动实现方法
2019/06/28 Python
Python数据分析pandas模块用法实例详解
2019/11/20 Python
python将三维数组展开成二维数组的实现
2019/11/30 Python
Python3 全自动更新已安装的模块实现
2020/01/06 Python
一文彻底解决HTML5页面中长按保存图片功能
2019/06/10 HTML / CSS
荷兰睡眠专家:Beter Bed
2020/11/23 全球购物
亿阳信通股份有限公司C#笔试题
2016/12/06 面试题
学子宴答谢词
2014/01/25 职场文书
党员先锋岗事迹材料
2014/05/08 职场文书
软件售后服务方案
2014/05/29 职场文书
公司租车协议书
2015/01/29 职场文书
2015年后勤工作总结范文
2015/04/08 职场文书
单身证明格式样本
2015/06/15 职场文书
庆祝教师节新闻稿
2015/07/17 职场文书
初中团委工作总结
2015/08/13 职场文书