解决python 读取excel时 日期变成数字并加.0的问题

yipeiwu_com7年前Python基础

excel 文件内容如下:

读取excel内容:

import xlrd
from datetime import datetime
from xlrd import xldate_as_datetime, xldate_as_tuple
filename = r'C:\Users\Administrator\Desktop\niceloo\10月\流水.xlsx'
rbook = xlrd.open_workbook(filename)
table = rbook.sheets()[0]
rows = table.nrows
cols = table.ncols
print("行数为%s \n列数为%s"%(rows,cols))
row = table.row_values(1)
print(row)

打印结果如下

行数为54
列数为16
[43739.0, '毛朝阳', 112.0, '健康', 3000.0, '0基础通关班', '全款', '全科', 43739.0, '', '', '', '', '徐冬冬', 4.0, 11200.0]

可以看到第一行的日期格式10月1日变成了43739.0

只打印第一个时间来让它正常显示, 其他的问题之后再说

real_date_1 = datetime(*xldate_as_tuple(row[0],0)).strftime('%Y-%m-%d')
print(real_date_1)

打印结果如下

2019-10-01

另一种方式

real_date_2 = xldate_as_datetime(row[0],0).strftime('%m/%d')
print(real_date_2 )

打印结果

10/01

将来使用pandas来操作excel的时候可以借鉴一下, over…

总结

以上所述是小编给大家介绍的解决python 读取excel时 日期变成数字并加.0的问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

Python针对给定字符串求解所有子序列是否为回文序列的方法

Python针对给定字符串求解所有子序列是否为回文序列的方法

本文实例讲述了Python针对给定字符串求解所有子序列是否为回文序列的方法。分享给大家供大家参考,具体如下: 问题: 给定一个字符串,得到所有的子序列,判断是否为回文序列 思路: 对字符...

Python解决两个整数相除只得到整数部分的实例

在python中进行两个整数相除的时候,在默认情况下都是只能够得到整数的值 解决方法: 1. 修改被除数的值为带小数点的形式即可得到浮点值 2.在文件头部引入 from __futu...

对python字典过滤条件的实例详解

如下所示: d = { 'a': '0.0000', 'b': '1.2' } d_tmp = dict((key, value) for key, value in d...

对python中return和print的一些理解

前言 最近刚开始学习python,之前只有一些c的基础,也忘得差不多了,现在想边学习边总结和分享收获~看书时看了return的用法,可是后来和print混了,老是感觉可以将函数retur...

python网络编程 使用UDP、TCP协议收发信息详解

UDP UDP是面向无连接的通讯协议,UDP数据包括目的端口号和源端口号信息,由于通讯不需要连接,所以可以实现广播发送。 UDP传输数据时有大小限制,每个被传输的数据报必须限定在64KB...