欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Python学习笔记--python读取Excel文件

程序员文章站 2022-05-11 14:46:01
简介: 今日接了个小单,把数据从xlsx读取到本地生成散点图,在读取日期数据时发现,读取下来的日期是数字,不是日期的各式 所要用的库: xlrd :1.1.0 time: datetime: 解决方法: xlrd :1.1.0 time: datetime: 代码 总结: 感谢prolifes提供的 ......
  • 简介:

     今日接了个小单,把数据从xlsx读取到本地生成散点图,在读取日期数据时发现,读取下来的日期是数字,不是日期的各式  

  •  所要用的库:
    • xlrd :1.1.0
    • time:
    • datetime:
  • 解决方法:
    •  代码
 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 感谢