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

主要的代码结构

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

读取某个单元格:

  1. table.cell(x, y).value

x:行

y:列

行,列都是从0開始

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

excel某个单元格   2014/7/8

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

源代码查看:

  1. # @param xldate The Excel number
  2. # @param datemode 0: 1900-based, 1: 1904-based.
  3. xldate_as_tuple(xldate, datemode)

输入一个日期类型的单元格会返回一个时间结构组成的元组。能够依据这个元组组成时间类型

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

  1. ##
  2. # Convert an Excel date/time number into a datetime.datetime object.
  3. #
  4. # @param xldate The Excel number
  5. # @param datemode 0: 1900-based, 1: 1904-based.
  6. #
  7. # @return a datetime.datetime() object.
  8. #
  9. def xldate_as_datetime(xldate, datemode)

输入參数和上面的同样。可是返回值是一个datetime类型,就不须要在自己转换了

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

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

[Python]xlrd 读取excel 日期类型2种方式的更多相关文章

  1. python xlrd读取excel常用方法

    最近学习了python操作excel,记录下常用方法. 需要安装xlrd模块, 打开cmd,输入命令:pip install xlrd  进行安装,若已安装显示如下: xlrd读取excel常用方法如 ...

  2. python xlrd 读取excel.md

    文章链接:https://mp.weixin.qq.com/s/fojkVO-AB2cCu7FtDtPBjw 之前的文章介绍过关于写入excel表格的方法,近期自己在做一个网站,涉及到读取excel, ...

  3. php读取excel日期类型数据的例子

    提供一个读取的函数:  代码如下 复制代码 //excel日期转换函数function excelTime($date, $time = false) { if(function_exists('Gr ...

  4. python xlrd读取Excel文件

    1 import xlrd 2 3 #打开excel文件 4 book = xlrd.open_workbook('salary.xls') 5 6 #打印每个工作表的名称 7 for sheet i ...

  5. NPOI读取Excel日期类型单元格返回一串数字问题

    public string getCellStringNEW(int row, int column) { try { ICell cell = xlSheet.GetRow(row).Cells[c ...

  6. java读取excel文件的两种方式

    方式一: 借用 package com.ij34.util; /** * @author Admin * @date 创建时间:2017年8月29日 下午2:07:59 * @version 1.0 ...

  7. C# 读取Excel到DataTable两种方式对比

    方式一 OLEDB读取 数据库引擎 优点:读取速度快,依据sheet排序读取 缺点:对于Excel版本依赖强,无法读取指定sheet 错误提示:本地计算机未指定 Microsoft.ACE.OLEDB ...

  8. C#中的Excel操作【1】——设置Excel单元格的内容,打开Excel文件的一种方式

    前言 作为项目管理大队中的一员,在公司里面接触最多的就是Excel文件了,所以一开始就想从Excel入手,学习简单的二次开发,开始自己的编程之路! 程序界面 功能说明 打开文件按钮,可以由使用者指定要 ...

  9. python使用xlrd读取excel数据时,整数变小数的解决办法

    python使用xlrd读取excel数据时,整数变小数: 解决方法: 1.有个比较简单的就是在数字和日期的单元格内容前加上一个英文的逗号即可.如果数据比较多,也可以批量加英文逗号的前缀(网上都有方法 ...

随机推荐

  1. VIM使用技巧3

    假如有如下代码: var  foo = "method("+argument1+","+argument2+")" 任务:在每个“+”前后各 ...

  2. steam linux 使用socks代理

    环境:Ubuntu 15.10 64bit,Steam:built:May 10 2016 需要的工具:ssh/shadowsocks等socks5代理,tsocks ---------------- ...

  3. 从客户端(ExportContent="...ontinuous <br />Pass Count":13...")中检测到有潜在危险的 Request.Form 值。

    mvc中,用chrome浏览器导出excel提示如题错误的解决办法. <system.web> <httpRuntime requestValidationMode="2. ...

  4. CMake的应用(在vision studio2008中去掉 ALL_BUILD 和 ZERO_CHECK)

    from  http://blog.csdn.net/jtop0/article/details/6167432 一般由CMake是 跨平台软件开发和维护过程的 工程构建工具.“在每个系统构建你的工程 ...

  5. mysql之创建数据库,创建数据表

    写在前面 项目中用到mysql数据库,之前也没用过mysql,今天就学下mysql的常用的语法,发现跟sql server的语法极其相似.用起来还是蛮简单的. 一个例子 1.创建一个名为School的 ...

  6. Android5 Zygote 与 SystemServer 启动流程分析

    Android5 Zygote 与 SystemServer 启动流程分析 Android5 Zygote 与 SystemServer 启动流程分析 前言 zygote 进程 解析 zygoterc ...

  7. 微信小程序-wxs

    你想在页面上使用JavaScript代码吗? 对不起,小程序不支持! 最近,一个项目就有这样的需求,我也就用上了wxs 使用方法很简单: 项目中用的是取小数点2位以及5位 具体请看官方API:WXS

  8. C 作用域规则

    C 作用域规则 任何一种编程中,作用域是程序中定义的变量所存在的区域,超过该区域变量就不能被访问.C 语言中有三个地方可以声明变量: 在函数或块内部的局部变量 在所有函数外部的全局变量 在形式参数的函 ...

  9. android图片素材參考

    hpi:通常是大图像素是:480x800   (640*960)宽比长大致为0.6左右      一般240dpi.    小图的像素依据实际来. xhdi:一般大图像素是: 640x1136 (72 ...

  10. 全国车辆违章查询API文档及demo

    简介 聚合数据全国车辆违章API,目前已经支持300个左右的城市违章查询,已连接上万个APP.方便有车一族随时了解自己是否有过交通违章,避免因遗忘或逾期处理违章罚单而造成的不必要损失. API参考文档 ...