德安论坛,小时代3锋银时代,诗诗发型秀
今日接了个小单,把数据从xlsx读取到本地生成散点图,在读取日期数据时发现,读取下来的日期是数字,不是日期的各式
1 import xlrd 2 import time,datetime 3 4 def create_excel(): 5 work_book = xlrd.open_workbook('新建 xlsx 工作表 (3).xlsx') 6 #打开文件 7 sheet = work_book.sheet_by_name('sheet1')#打开其中一份sheet 8 time1 = [] 9 time2 = [] 10 11 for i in range(sheet.nrows):#sheet.nrows 行总数 12 time2 .append(str(sheet.cell_value(i, 0))) 13 #获取第i行第0列的数据 14 try:#因为表中数据不完整,所以会有异常 15 #转换,把读取下来的数字转化为日期 16 #因为读取下来的数字(比如说42912) 17 # 是从1900-01-01开始算起的第42912天 18 #通过timedelta将时间差转换为时间再加上1900-1-1就是当前时间 19 #不清楚为啥,最后结果多了两年,所以在转化时-2 20 data2 = datetime.datetime(1900, 1, 1) + datetime.timedelta(days=sheet.cell_value(i, 0) - 2) 21 time1.append(data2) 22 except typeerror:#处理异常 23 time1.append(str(sheet.cell_value(i, 0))) 24 print("未转化数据:",time2) 25 print("转化后数据:",time1) 26 27 if __name__ == '__main__': 28 create_excel()
感谢prolifes提供的解决方案:
感谢像风一样自由提供的xlrd相关介绍:
上述文章如哪里有错,请及时联系博主,qq406802063 感谢
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
新手学习Python2和Python3中print不同的用法
Python基于os.environ从windows获取环境变量
网友评论