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编写脚本获取手机当前应用apk的信息
Jul 21 Python
python制作花瓣网美女图片爬虫
Oct 28 Python
python制作企业邮箱的爆破脚本
Oct 05 Python
用pandas按列合并两个文件的实例
Apr 12 Python
python计算日期之间的放假日期
Jun 05 Python
python正则表达式之对号入座篇
Jul 24 Python
解决python中用matplotlib画多幅图时出现图形部分重叠的问题
Jul 07 Python
浅析PyTorch中nn.Module的使用
Aug 18 Python
解决python DataFrame 打印结果不换行问题
Apr 09 Python
keras 指定程序在某块卡上训练实例
Jun 22 Python
python使用re模块爬取豆瓣Top250电影
Oct 20 Python
python cookie反爬处理的实现
Nov 01 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
无线电广播与收音机发展的历史回眸
2021/03/02 无线电
PHP 调试工具Debug Tools
2011/04/30 PHP
Drupal读取Excel并导入数据库实例
2014/03/02 PHP
php 表单提交大量数据发生丢失的解决方法
2014/03/03 PHP
ThinkPHP实现将SESSION存入MYSQL的方法
2014/07/22 PHP
CI框架中cookie的操作方法分析
2014/12/12 PHP
php关联数组快速排序的方法
2015/04/17 PHP
thinkPHP查询方式小结
2016/01/09 PHP
PHP获取路径和目录的方法总结【必看篇】
2017/03/04 PHP
javascript高级程序设计第二版第十二章事件要点总结(常用的跨浏览器检测方法)
2012/08/22 Javascript
js给onclick赋值传参数的两种方法
2013/11/25 Javascript
JQuery实现表格动态增加行并对新行添加事件
2014/07/30 Javascript
简单实现jQuery手风琴效果
2017/08/18 jQuery
react router 4.0以上的路由应用详解
2017/09/21 Javascript
bootstrap table实现点击翻页功能 可记录上下页选中的行
2017/09/28 Javascript
微信小程序使用radio显示单选项功能【附源码下载】
2017/12/11 Javascript
详解JS转换数值函数Number()、parseInt()、parseFloat()
2018/08/24 Javascript
node链接mongodb数据库的方法详解【阿里云服务器环境ubuntu】
2019/03/07 Javascript
简单实现节流函数和防抖函数过程解析
2019/10/08 Javascript
[04:19]完美世界携手游戏风云打造 卡尔工作室模型介绍篇
2013/04/24 DOTA
Python计算三角函数之asin()方法的使用
2015/05/15 Python
Python编码类型转换方法详解
2016/07/01 Python
Python中scatter函数参数及用法详解
2017/11/08 Python
python中字符串比较使用is、==和cmp()总结
2018/03/18 Python
Python with标签使用方法解析
2020/01/17 Python
Python3标准库之dbm UNIX键-值数据库问题
2020/03/24 Python
施华洛世奇加拿大官网:SWAROVSKI加拿大
2018/06/03 全球购物
Kipling意大利官网:世界著名的时尚休闲包袋品牌
2019/06/05 全球购物
.NET remoting的两种通道是什么
2016/05/31 面试题
土木工程专业大学毕业生求职信
2013/10/13 职场文书
电厂职工自我鉴定
2014/02/20 职场文书
青年志愿者活动总结
2014/04/26 职场文书
房屋产权共有协议书范本
2014/11/03 职场文书
2016年公司中秋节致辞
2015/11/26 职场文书
陶瓷类经典广告语集锦
2019/10/25 职场文书
Li list-style-image 图片垂直居中实现方法
2023/05/21 HTML / CSS