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程序的方法
Apr 21 Python
详解在Python程序中自定义异常的方法
Oct 16 Python
特征脸(Eigenface)理论基础之PCA主成分分析法
Mar 13 Python
python实现屏保计时器的示例代码
Aug 08 Python
Python实现的旋转数组功能算法示例
Feb 23 Python
在Pandas中处理NaN值的方法
Jun 25 Python
利用Pandas和Numpy按时间戳将数据以Groupby方式分组
Jul 22 Python
python实现扑克牌交互式界面发牌程序
Apr 22 Python
python输出数学符号实例
May 11 Python
Pytorch生成随机数Tensor的方法汇总
Sep 09 Python
Python爬虫之Selenium多窗口切换的实现
Dec 04 Python
Python实战实现爬取天气数据并完成可视化分析详解
Jun 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
将OICQ数据转成MYSQL数据
2006/10/09 PHP
php获取服务器操作系统相关信息的方法
2016/10/08 PHP
PHP环境搭建(php+Apache+mysql)
2016/11/14 PHP
基于ThinkPHP实现的日历功能实例详解
2017/04/15 PHP
PHP 图片处理
2020/09/16 PHP
JavaScript 通过模式匹配实现重载
2010/08/12 Javascript
简单理解JavaScript中的封装与继承特性
2016/03/19 Javascript
使用jQuery处理AJAX请求的基础学习教程
2016/05/10 Javascript
jQuery中通过ajax调用webservice传递数组参数的问题实例详解
2016/05/20 Javascript
js输出数据精确到小数点后n位代码
2016/07/02 Javascript
微信小程序-获得用户输入内容
2017/02/13 Javascript
微信小程序如何获知用户运行小程序的场景教程
2017/05/17 Javascript
js中Object.defineProperty()方法的不详解
2018/07/09 Javascript
Jquery和CSS实现选择框重置按钮功能
2018/11/08 jQuery
微信小程序 行的删除和增加操作实现详解
2019/09/29 Javascript
ElementUI多个子组件表单的校验管理实现
2019/11/07 Javascript
Python字典实现简单的三级菜单(实例讲解)
2017/07/31 Python
Python实现字符串匹配算法代码示例
2017/12/05 Python
Python数据集切分实例
2018/12/08 Python
Python实现的对本地host127.0.0.1主机进行扫描端口功能示例
2019/02/15 Python
Python基于Hypothesis测试库生成测试数据
2020/04/29 Python
浅谈cookie和localStorage那些事
2019/08/27 HTML / CSS
canvas学习和滤镜实现代码
2018/08/22 HTML / CSS
中国电子产品外贸网站:MiniIntheBox
2017/02/06 全球购物
求职意向书
2014/04/01 职场文书
高中家长寄语
2014/04/02 职场文书
合作协议书怎么写
2014/04/18 职场文书
爱国主义演讲稿
2014/05/07 职场文书
助人为乐道德模范事迹材料
2014/08/16 职场文书
个人授权委托书范文
2014/09/21 职场文书
2015年宣传部部长竞选演讲稿
2014/11/28 职场文书
付款承诺函范文
2015/01/21 职场文书
python实现股票历史数据可视化分析案例
2021/06/10 Python
spring cloud 配置中心客户端启动遇到的问题
2021/09/25 Java/Android
使用 Koa + TS + ESLlint 搭建node服务器的过程详解
2022/05/30 NodeJs
Valheim服务器 Mod修改安装教程 【ValheimPlus】
2022/12/24 Servers