栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

使用xlrd以及pandas遇到的问题

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用xlrd以及pandas遇到的问题

使用xlrd和pandas读取数据时最好不要交叉使用,容易出现问题 使用xlrd读取,使用pandas的read可以交叉,但是使用pandas读取表格中具体的date日期,和xlrd的编码格式或者什么规则不同,导致使用pandas读取到了日期,但是使用xlrd的xldate_as_tuple方法会报’_XLDAYS_TOO_LARGE’错误,最终决定完全使用xlrd读取excel
# 以下是使用pandas和xlrd交叉使用的example,使用xlrd循环多个sheet表,在sheet表中使用pandas读取
 studentexcel = request.POST.get('studentroot')
 studentsheets = xlrd.open_workbook(studentexcel)
 for sheet in studentsheets.sheets():
        df = pd.read_excel(studentexcel, sheet.name)
        date= df['日期'].values.tolist()
        # 使用以下方法转换pandas读取到的日期类型会报错
        for i in date:
			date1 = xldate_as_tuple(i,1)
使用如下方法,可以直接将读取到的日期转化为datetime.datetime格式,再直接转化为字符串即可。具体第二个参数是什么,没有查看文档,但是该值为1的时候日期是不正确的,明明是2021年,但是输出是2025年,不知何故。 转化为datetime对象格式后,直接使用字符串转化,如果只需要日期直接使用字符串分割获取需要的格式即可
xlrd.xldate.xldate_as_datetime(table.cell(1, 3).value, 0)
str(date2).split(' ')[0]
还有一种方法是转化为元组形式,没有尝试。
xlrd.xldate_as_tuple(table.cell(2,2).value, 0)   #转化为元组形
over
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/283662.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号