• [Python]xlrd 读取excel 日期类型2种方式


    有个excle表格须要做一些过滤然后写入数据库中,可是日期类型的cell取出来是个数字,于是查询了下解决的办法。


    主要的代码结构

    data = xlrd.open_workbook(EXCEL_PATH)
    table = data.sheet_by_index(0)
    lines = table.nrows
    cols = table.ncols
    print u'The total line is %s, cols is %s'%(lines, cols)

    读取某个单元格:

    table.cell(x, y).value
    x:行

    y:列    

    行,列都是从0開始


    *  时间类型的转换,把excel中时间转成python 时间(两种方式)

    excel某个单元格   2014/7/8

    xlrd.xldate_as_tuple(table.cell(2,2).value, 0)   #转化为元组形式
    (2014, 7, 8, 0, 0, 0)
    xlrd.xldate.xldate_as_datetime(table.cell(2,2).value, 1)   #直接转化为datetime对象
    datetime.datetime(2018, 7, 9, 0, 0)
    table.cell(2,2).value   #没有转化
    41828.0

    源代码查看:

    # @param xldate The Excel number
    # @param datemode 0: 1900-based, 1: 1904-based.
    xldate_as_tuple(xldate, datemode)  
    输入一个日期类型的单元格会返回一个时间结构组成的元组。能够依据这个元组组成时间类型

    datemode 有2个选项基本我们都会使用1900为基础的时间戳


    ##
    # Convert an Excel date/time number into a datetime.datetime object.
    #
    # @param xldate The Excel number
    # @param datemode 0: 1900-based, 1: 1904-based.
    #
    # @return a datetime.datetime() object.
    #
    def xldate_as_datetime(xldate, datemode)
    输入參数和上面的同样。可是返回值是一个datetime类型,就不须要在自己转换了


    当然这两个函数都有对应的逆函数。把python类型变成对应的excle时间类型。

    本文出自 orangleliu笔记本 博客。请务必保留此出处 http://blog.csdn.net/orangleliu/article/details/38476881

  • 相关阅读:
    SHELL 基本语法
    SHELL 入门
    Kahana::Cache
    AUTH 用户管理操作
    继承和委托关系
    ORM 构造和add 方法
    游标的使用
    有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛?
    01背包 模板1
    poj 2533
  • 原文地址:https://www.cnblogs.com/tlnshuju/p/7194185.html
Copyright © 2020-2023  润新知