Python3读取excel数据

 从excel文件中导入数据

1、操作步骤

2、工作原理

3、代码实现

1、操作步骤

(1)打开文件的工作簿

(2)根据名称找到工作表。根据行数(nrows)和列数(ncols)读取单元格的内容

(3)当发生错误时抛出异常

2、工作原理

(1)xlrd模块使用的简单对象模型。在最上层是一个包含一个或多个工作表(xlrd.sheet.Sheet)的工作簿(python类xlrd.book.Book)。每个工作表有一个单元格对象(xlrd.sheet.Cell),我们从单元格中将值读取出来。

(2)通过调用open.workbook()方法,我们从文件中加载了一个工作簿,并返回一个xlrd.book实例。Book实例包含了一个工作簿的所有信息,如工作表单。通过调用sheet_by_name()方法。sheets()方法返回一个xlrd.sheet.Sheet实例的列表。xlrd.sheet.Sheet类有行和列属性,通过这些属性来指定循环的范围,并通过调用cell()方法来访问工作表中的每个特定的单元格。

(3)注意:日期是以浮点数而不是以某个日期类型存储的。xlrd模块有能力检查数据的值,并推断出数据值实际上是否为一个日期。如果数字的字符串像日期,xlrd模块将返回xlrd.XLCELL_DATA作为单元格类型。

python读取excel中单元格的内容返回的有5种类型:   

cell.ctype

0——empty

1——string

2——number

3——date

4——boolean

5——error

3、代码实现

import xlrd
import sys
from datetime import datetime
from xlrd import open_workbook,xldate_as_tuple

filename = 'playoff.xls'

try:
    book = xlrd.open_workbook(filename)
    sheet = book.sheet_by_name('playoff')  # 表名为:playoff

    cell = sheet.cell(1,1)
    print(cell)
    print(cell.value)
    print(cell.ctype)          # 检查单元格类型
    if cell.ctype == xlrd.XL_CELL_DATE:
        date_value = xldate_as_tuple(cell.value,book.datemode)
        print(datetime(*date_value))

    dataset = []
    for r in range(sheet.nrows):   # 遍历表的每一行
        col = []
        for c in range(sheet.ncols):     # 遍历表的每一列
            col.append(sheet.cell(r,c).value)    # 遍历表的单元格
        dataset.append(col)
    print(dataset)

except xlrd.XLRDError as e:
    print('Read excel error:%s' % e)
    sys.exit(1)

注:数据见https://download.csdn.net/download/weixin_45890771/23744049https://download.csdn.net/download/weixin_45890771/23744049icon-default.png?t=L892https://download.csdn.net/download/weixin_45890771/23744049

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值