不知道大家有没有遇到过。在使用Python读取Excel的行、列或单元格时,如果内容是日期格式,但是打印出来后,不是日期,而是一串数字,如下图:我们期望日期是解析为:1919/1/20和2019/11/20,结果却是数字6960.0和43789.0,请问这是什么原因?羊毛布?这个数字是多少?其实这个就是从1900年的原点到指定日期经过的天数。如果想把数字转为日期,可以通过xlrd中的xldate_as_tuple方法将数字转为日期,在代码中添加用于转换的代码块。参考代码如下:fromdatetimeimportdatetimefromxlrdimportxldate_as_tupleExcelDate=[]fordateinlv_1:print('digitaldate:',date,end='')new_date=str(datetime(*xldate_as_tuple(date,0)))#使用xldate_as_tuple方法进行转换,将转换后的值转换为字符串类型print('conversionPostdate:',new_date)new_date=new_date[0:10]#取日期部分print('最终打印效果:',new_date)ExcelDate.append(new_date)print('finaldatelist',ExcelDate)作用:当然,如果你使用pandas库读取Excel,就不会遇到这种情况。【读取Excel】组件使用pandas的read_excel方法:免费下载试用:https://support.i-search.com.cn/
