Python读取Excel,里面如果是日期,直接读出来是float类型,无法直接使用。

通过判断读取表格的数据类型ctype,进一步处理。

返回的单元格内容的类型有5种:

ctype: 0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error

ctype =sheet1.cell(iRow,iCol).ctype

参考示例如下:

1.准备一个Excel文件,文件名Book1.xlsx

从第2行的第1列开始向右,分别是2019年的7月的1、2、3、4日,2019-07-01、2019-07-02、2019-07-03、2019-07-04

A列单元格的类型:date

B列单元格的类型:Text

C列单元格的类型:Text

D列单元格的类型:Custom里的一种日期格式

2.Python文件,ReadExcelDemo.py,代码如下:

#! -*- coding utf-8 -*-#! @Time :2019/7/4 15:46#! Author :Frank Zhang#! @File :ReadExcelDemo.py#!SoftWare PyChart 5.0.3#! Python Version 3.7

importxlrdimportosimporttimefrom datetime importdatetimefrom xlrd importxldate_as_tupledefmain():

sPath=os.getcwd()

sFile= "Book1.xlsx"wb= xlrd.open_workbook(filename=sPath + "\" +sFile)

sheet1=wb.sheet_by_index(0)

nrows=sheet1.nrows

ncols=sheet1.ncolsfor iRow in range(1,nrows):for iCol inrange(ncols):

sCell=sheet1.cell_value(iRow,iCol)#Python读Excel,返回的单元格内容的类型有5种:

#ctype: 0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error

ctype =sheet1.cell(iRow,iCol).ctype#ctype =3,为日期

if ctype == 3:

date= datetime(*xldate_as_tuple(sCell, 0))

cell= date.strftime("%Y-%m-%d") #("%Y/%m/%d %H:%M:%S")

print(cell)#ctype =1,为字符串

elif ctype == 1:ifisVaildDate(sCell):

t1= time.strptime(sCell, "%Y-%m-%d")

sDate= changeStrToDate(t1,"yyyy-mm-dd")print(sDate)else:pass

defformatDay(sDay,sFormat):

sYear=str(sDay.year)

sMonth=str(sDay.month)

sDay=str(sDay.day)if sFormat == "yyyy-mm-dd":

sFormatDay= sYear +"-" +sMonth.zfill(2)+"-" +sDay.zfill(2)elif sFormatStyle == "yyyy/mm/dd":

sFormatDay= sYear +"/" +sMonth.zfill(2)+"/" +sDay.zfill(2)else:

sFormatDay= sYear+"-" + sMonth + "-" +sDayreturnsFormatDay"""功能:判断是否为日期"""

defisVaildDate(sDate):try:if ":" insDate:

time.strptime(sDate,"%Y-%m-%d %H:%M:%S")else:

time.strptime(sDate,"%Y-%m-%d")returnTrueexcept:returnFalse"""功能:把字符串格式的日期转换为格式化的日期,如把2019-7-1转换为2019-07-01"""

defchangeStrToDate(sDate,sFormat):

sYear=str(sDate.tm_year)

sMonth=str(sDate.tm_mon)

sDay=str(sDate.tm_mday)if sFormat == "yyyy-mm-dd":

sFormatDay= sYear +"-" +sMonth.zfill(2)+"-" +sDay.zfill(2)elif sFormatStyle == "yyyy/mm/dd":

sFormatDay= sYear +"/" +sMonth.zfill(2)+"/" +sDay.zfill(2)else:

sFormatDay= sYear+"-" + sMonth + "-" +sDayreturnsFormatDayif __name__ == "__main__":

main()

3.执行结果:

原文地址:https://www.cnblogs.com/SH170706/p/11133525.html

python读取excel日期内容读出来是数字-Python读取Excel,日期列读出来是数字的处理...相关推荐

  1. 使用readFile方法读取文件的内容,并判断文件是否读取成功(node)

    2.2 读取指定文件中的内容 1.fs.readFile()的语法格式             使用fs.readFile()方法,可以读取指定文件中的内容,语法格式如下:               ...

  2. python怎么读取txt文件内容然后保存到excel-Python实现读取txt文件并转换为excel的方法示例...

    本文实例讲述了Python实现读取txt文件并转换为excel的方法.分享给大家供大家参考,具体如下: 这里的txt文件内容格式为: 892天平天国定都在?A开封B南京C北京(B) Python代码如 ...

  3. python比较excel表格内容并提取_利用python提取多张excel表数据并汇总到同一张新表中...

    接上篇文章<如何用python实现excel中的vlookup功能?>,上篇说到,最近我在做一个小项目,也是用python操作excel解决财务审计工作上的一些问题,以便提高工作效率及其准 ...

  4. python显示中文文件内容_Python实现的json文件读取及中文乱码显示问题解决方法...

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  5. python实现对文本内容的修改_介绍python对文件操作实现全文或单行替换

    python修改文件时,使用w模式会将原本的文件清空/覆盖.可以先用读(r)的方式打开,写到内存中,然后再用写(w)的方式打开.替换文本中的taste 为 tastingYesterday when ...

  6. python后端开发工作内容怎么写_【Python后端开发岗位职责_Python后端开发职责/工作内容】-猎聘岗位职责频道...

    python后端开发工程师 深圳市超频三科技股份有限公司 深圳市超频三科技股份有限公司,超频三,超频三科技,超频三 职责: 1.负责集成各种维度的数据源,使用各种数据获取技巧,转换.分析.调度.存储数 ...

  7. Win10系统可识别移动硬盘的插入,无法读取移动硬盘的内容,硬盘插入win10无法读取

    参考:Win10系统无法识别移动硬盘 1. win10通知栏可以识别插入的移动硬盘,但是在我的电脑里不显示移动硬盘. 2. 单击右下角的小三角,鼠标放在那个移动硬盘的图表上,记住此时的硬盘名字,有可能 ...

  8. python 读取文件读出来是什么格式-深入学习python解析并读取PDF文件内容的方法...

    这篇文章主要学习了python解析并读取PDF文件内容的方法,包括对学习库的应用,python2.7和python3.6中python解析PDF文件内容库的更新,包括对pdfminer库的详细解释和应 ...

  9. python中读取文件内容-深入学习python解析并读取PDF文件内容的方法

    这篇文章主要学习了python解析并读取PDF文件内容的方法,包括对学习库的应用,python2.7和python3.6中python解析PDF文件内容库的更新,包括对pdfminer库的详细解释和应 ...

  10. python读取pdf文件_深入学习python解析并读取PDF文件内容的方法

    这篇文章主要学习了python解析并读取PDF文件内容的方法,包括对学习库的应用,python2.7和python3.6中python解析PDF文件内容库的更新,包括对pdfminer库的详细解释和应 ...

最新文章

  1. Spring Boot 2.6之后,动态权限控制终于可以用起来了!
  2. 如何从用户体验的角度去做一个网站的页面设计
  3. NHibernate应用二:第一个NHibernate程序
  4. poi读取Excel内容数据
  5. python,pycharm,anaconda,tensorflow安装
  6. 浏览器为什么会有兼容性问题
  7. 【最佳解法】剑指 Offer 42. 连续子数组的最大和
  8. p服务器不响应,无法加载资源:服务器响应状态为500
  9. html5如何新建定义站点,HTML5技术教程:创建新作品_HTML5教程_创建作品_添加元素_课课家...
  10. Mysql 连接的使用
  11. Flink算子(Filter、KeyBy、Reduce和Aggregate)
  12. 所有C#程序员必须知道的13件事
  13. 图片缩放与目标值的规范
  14. Android Volley教程
  15. c语言在输出字符串时可以用指针,C语言—字符串、指针
  16. 如何解决大规模高性能存储可靠性问题?
  17. 触摸屏校准之tslib
  18. 回车、换行、回车换行、硬回车以及软回车
  19. 5个最佳开源环境电子邮件客户端
  20. typora主题-orangeheart

热门文章

  1. 二元偏导数存在的条件_高等数学入门——高阶偏导数的概念和计算
  2. python arima模型_时间序列分析 ARIMA模型 Python(2)
  3. 卷积层和全连接层的区别_1*1的卷积核和全连接层有什么异同?
  4. bilibili怎么设置弹幕数量_python爬取B站视频弹幕分析并制作词云
  5. Java函数式折叠,循环,记忆化效率初识
  6. 机器学习样本标记 示意代码
  7. docker run Influxdb
  8. 数据恢复 从binlog文件
  9. vue 去除路由时候的#
  10. UNABLE to load uWSGI plugin: ./python_plugin.so: cannot open shared object file: No such file or dir