Python中使用第三方库xlrd来读取Excel示例

yipeiwu_com6年前Python基础

本篇文章介绍如何使用xlrd来读取Excel表格中的内容,xlrd是第三方库,所以在使用前我们需要安装xlrd。另外我们一般会使用xlwt来写Excel,所以下一篇文章我们会来介绍如何使用xlwt来写Excel。xlrd下载:xlrd 0.8.0

安装xlrd

安装xlrd,只需运行setup即可,另外你也可以直接解压缩到你的project中,也可以直接用

xlrd的API

获取Excel,这里称之为work book

复制代码 代码如下:

open_workbook(file_name)

获取指定的Sheet,有两种方式

复制代码 代码如下:

sheet = xls.sheet_by_index(sheet_no) 
sheet = xls.sheet_by_name(sheet_name)

获取整行和整列的值(数组)
复制代码 代码如下:

sheet.row_values(i)  
sheet.col_values(i)

获取总行数和总列数

复制代码 代码如下:

nrows = sheet.nrows  
ncols = sheet.ncols

使用xlrd

使用xlrd这里就用一个简单的例子示例下:

复制代码 代码如下:

# -*- coding: utf-8 -*- 
''''' 
Created on 2012-12-14 
 
@author:  walfred
@module: XLRDPkg.read 
@description:
'''   
import os 
import types 
import xlrd as ExcelRead 
 
def readXLS(file_name): 
    if os.path.isfile(file_name): 
        try: 
            xls = ExcelRead.open_workbook(file_name) 
            sheet = xls.sheet_by_index(0) 
        except Exception, e: 
            print "open %s error, error is %s" %(file_name, e) 
            return 
 
    rows_cnt = sheet.nrows 
    for row in range(1, rows_cnt): 
        name = sheet.row_values(row)[0].encode("utf-8").strip() 
        sex = sheet.row_values(row)[1].encode("utf-8").strip() 
        age = sheet.row_values(row)[2] 
        if type(age) is types.FloatType:#判读下类型 
            no = str(int(age)) 
        else: 
            age = no.encode("utf-8").strip() 
 
        country = sheet.row_values(row)[3].encode("utf-8").strip() 
        print "Name: %s, Sex: %s, Age: %s, Country: %s" %(name, sex, age, country) 
 
if __name__ == "__main__": 
    readXLS("./test_read.xls");

很easy吧,需要说明的是,目前xlrd只支持95-03版本的MS Excel,所以使用之前需要核对自己的word版本。

相关文章

手把手教你使用Python创建微信机器人

手把手教你使用Python创建微信机器人

微信,一个日活10亿的超级app,不仅在国内社交独领风骚,在国外社交也同样占有一席之地,今天我们要将便是如何用Python来生成一个微信机器人,突然想起鲁迅先生曾经说过的一句话:...

Python用csv写入文件_消除空余行的方法

只做简单地记录,方便一下使用!python关于csv模块的介绍网上有很多资料,这里就不在赘诉。直接给出代码和解释。 数据: Symbol,Price,Date,Time,Change...

python实现2014火车票查询代码分享

代码基于Python3.3.3,PyQt5.1.1 复制代码 代码如下:# -*- coding: utf-8 -*-# Python 3.3.3# PyQt 5.1.1import s...

将tensorflow的ckpt模型存储为npy的实例

实例如下所示: #coding=gbk import numpy as np import tensorflow as tf from tensorflow.python impor...

python中的单引号双引号区别知识点总结

python中的单引号双引号有什么区别呢?下面给大家详细的介绍一下: 先说双引号与三引号的区别,双引号所表示的字符串通常要写成一行。 如: s1 = "hello,world" 如...