Python读取EXCEL表时遇到的一些问题

初学者在使用Python的xlrd库读取Excel文件时,遇到日期被读取为浮点数的问题。原因是Python将日期从公元1年1月1日开始计算,而Excel从1899年12月31日开始。为了解决这个问题,可以利用库提供的方法将浮点数转换为日期。示例代码展示了如何通过tuple快速转换日期。
摘要由CSDN通过智能技术生成

今天刚开始学习使用Python做表

写完代码后发现了一个问题:

使用xlrd读取EXCEL显示的日期并不是DATE而是FLOAT类型

(我想要的是日期!你给个FLOAT啥意思么,然后开始百度原因)


以下为大佬原话

原来:python是从公元1年1月1日开始的天数转换 的!

excel是从1899年12月 31号开始的。

此知识出自:https://my.oschina.net/farces/blog/1605573


我学Python不为别的就图省事

于是找了个最快最方便的方法

那就是用库里免费送的方法tuple!

def MyDateFormate(date):
    # print(date)---用于调试
    TupleA = xldate_as_tuple(int(date), 0)
    # print(TupleA)---用于调试
    ExcelDateTime = datetime.datetime(*TupleA)
    # print(ExcelDateTime)---用于调试
    return ExcelDateTime

完整代码示例:

import datetime

import xlrd

# 打开工作簿
from xlrd import xldate_as_tuple

xlsx = x
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值