功能:读取一个excel里的第2个sheet,将该sheet的内容全部输出。

 #coding=utf8
import xlrd def read_excel():
workbook = xlrd.open_workbook('demo.xlsx')
sheet2 = workbook.sheet_by_index(1) # sheet索引从0开始
rowNum = sheet2.nrows
colNum = sheet2.ncols llst = []
for i in range(rowNum):
lst = []
for j in range(colNum):
lst.append(sheet2.cell_value(i, j))
llst.append(lst) for i in range(rowNum):
for j in range(colNum):
print llst[i][j],'\t\t',
print if __name__ == '__main__':
read_excel()

notes:

python对于缩进非常严苛。如果最后两句话不小心向后缩进了一下,与17行的for对齐了,那说明这两句话是read_excel函数体内部的。那就乱套了。

指定一个excel里的具体哪一个sheet,即可以按序号顺序来定位(比如第一个sheet,第2个sheet),也可以按名字来找(比如第2个sheet如果名字叫‘Sheet2’的话,就用

workbook.sheet_by_name('Sheet2') 来定位sheet)

获取一个cell里面的内容,可以有多种方式,比如:

sheet2.cell_value(1,0)
sheet2.row(1)[0].value

sheet2.cell(1,0).value

注意。读取到的excel的表格里的值都是unicode模式的。这种情况下如果想正确输出的话,直接print就可以。比如放在list里面,依次对list的每个元素进行print。

但是不能直接print lst。这样的话打出来还是unicode的形式。

正常情况下对于unicode的对象,用encode可以将一个unicode对象转换为参数中编码格式的普通字符。这一部分可参考 ref  ref2

print如果不想换行的话,直接在print结束后加一个逗号即可。

如果想实现c++里endl一样的换行,直接打上一行print就行了,不需要任何参数。

=========  ==========  =========  ==========  =========  ==========

下面代码纯粹为了展示一下关于excel的其他操作。

ref1     ref2     ref3 (ref1代码很清晰,ref3列出了xlrd,xlwt的一些接口可以方便参考)

 #coding=utf8
import xlrd def read_excel():
# 打开文件
workbook = xlrd.open_workbook('demo.xlsx')
# 获取所有sheet
#print workbook.sheet_names() # [u'Sheet1', u'Sheet2']
sheet2_name = workbook.sheet_names()[1] # 根据sheet索引或者名称获取sheet内容
sheet2 = workbook.sheet_by_index(1) # sheet索引从0开始
sheet2 = workbook.sheet_by_name('Sheet2') # sheet的名称,行数,列数
print 'sheet的名称,行数,列数'
print sheet2.name,sheet2.nrows,sheet2.ncols rowNum = sheet2.nrows
colNum = sheet2.ncols
# 获取整行和整列的值(数组)
rows = sheet2.row_values(3) # 获取第四行内容
cols = sheet2.col_values(2) # 获取第三列内容
print '第四行:'
print rows llst = []
for i in range(rowNum):
lst = []
for j in range(colNum):
lst.append(sheet2.cell_value(i, j))
llst.append(lst) for i in range(rowNum):
for j in range(colNum):
print llst[i][j],'\t\t',
print if __name__ == '__main__':
read_excel()

实例:

原excel:

像电话号码、年龄后面还带小数,还没来得及处理。

其他参考资料:ref  ref2

python处理excel(一):读的更多相关文章

  1. python操作excel的读、计算、写----xlrd、copy

    import xlrd from xlutils.copy import copy class ExcelUtil: def __init__(self,excel_path=None,index=N ...

  2. python处理excel之读:xlrd模块

    # -*- coding:utf-8 -*- import xlrd path = r'D:/工作簿1(已自动还原).xlsx' # 打开excel文件读取数据 data = xlrd.open_wo ...

  3. python操作excel(xlwt写,xlrd读)基本方法

    python操作excle在测试工作中还是很有用的,比如读取测试数据,回写测试结果到excel. 1.安装 pip install xlwt pip install xlrd 2.写excel # 导 ...

  4. 用python读写excel(xlrd、xlwt)

    最近需要从多个excel表里面用各种方式整理一些数据,虽然说原来用过java做这类事情,但是由于最近在学python,所以当然就决定用python尝试一下了.发现python果然简洁很多.这里简单记录 ...

  5. 使用Python对Excel表格进行简单的读写操作(xlrd/xlwt)

    算是一个小技巧吧,只是进行一些简单的读写操作.让人不爽的是xlrd和xlwt是相对独立的,两个模块的对象不能通用,读写无法连贯操作,只能单独读.单独写,尚不知道如何解决. #①xlrd(读) #cod ...

  6. python操作excel表格(xlrd/xlwt)

    最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异,而且不太能满足需求,不过经过一番对源码的"研究&q ...

  7. [转]用Python读写Excel文件

    [转]用Python读写Excel文件   转自:http://www.gocalf.com/blog/python-read-write-excel.html#xlrd-xlwt 虽然天天跟数据打交 ...

  8. python 处理 Excel 表格

    see: http://www.cnblogs.com/sunada2005/p/3193300.html 一.可使用的第三方库 python中处理excel表格,常用的库有xlrd(读excel)表 ...

  9. python 解析Excel

    python 解析Excel 公司背景:好吧LZ太懒了.略... 原由起因:公司老板发话要导出公司数据库中符合条件的数据,源数据有400万,符合条件的大概有70万左右吧. 最终目的:符合条件的数据并生 ...

  10. Python操作excel表格

    用Python操作Excel在工作中还是挺常用的,因为毕竟不懂Excel是一个用户庞大的数据管理软件 注:本篇代码在Python3环境下运行 首先导入两个模块xlrd和xlwt,xlrd用来读取Exc ...

随机推荐

  1. Postman—authorization简介

    Postman中的authorization 版权声明,参考: https://blog.csdn.net/qq_28284093/article/details/80416749 1.概述 Auth ...

  2. XMind *思维导图的安装步骤(图文详解)

    不多说,直接上干货! XMind中文官网:  http://www.xmindchina.net/ 这一款软件,是非常实用和棒,也帮助我了很多地方.推荐给大家 需要正版和激活的,请见博文最下端的QQ技 ...

  3. C/C++ -- Gui编程 -- Qt库的使用 -- Qt5总结

    主要变化: 1.与Qt4相比,Qt5可以直接显示中文不需要手工转码2.Qt5模块发生变化,大部分组件并入widgets模块 注意事项:工程文件加一句greaterThan(QT_MAJOR_VERSI ...

  4. unity 图片 粉碎效果 破碎效果

    效果: 点击按钮后: 这些碎片具有物理碰撞效果,下面会有隐形的支柱垫着碎片,n秒后支柱消失,碎片落下 当然你也可以控制生成的碎片,让他们从下而上一块一块地落下 插件源码: https://github ...

  5. 【LeetCode题解】136_只出现一次的数字

    目录 [LeetCode题解]136_只出现一次的数字 描述 方法一:列表操作 思路 Java 实现 Python 实现 方法二:哈希表 思路 Java 实现 Python 实现 方法三:数学运算 思 ...

  6. VUE脚手架,babel转码 常用命令

    vue-cli脚手架,单页面应用初始化时 npm -v 查看npm版本号 npm install vue-cli -g  全局安装vue-cli vue -V查看vue版本号,说明vue-cli已经安 ...

  7. Mac配置多个版本JDK

    2016年mac上已经安装有jdk1.6的版本  目录在/Library/Java/JavaVirtualMachines/1.6.0.jdk 有时候mac版本跟新会自动删除jdk1.6 所以要去ma ...

  8. composer windows安装

    一.下载安装包安装 https://getcomposer.org/download/(由于墙的限制,可能下载可执行文件失败,即使成功,由于网络的原因,安装的时候也可能会失败,所以建议用第二种方法) ...

  9. jQuery操作<input type="radio">

    input type="radio">如下: <input type="radio" name="city" value=&qu ...

  10. ABP学习入门系列(一)(第一个ABP项目)

    ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称.ASP.NET Boilerplate是一个用最佳实践和流行技术开发现代WEB应用程序的新起点,它 ...