我有一个包含数据的Excel.xlsb工作表,有些列的输出数据是数字,有些列的输出数据应该是日期。在Python中上传数据后,有些列的输出数据是数字而不是日期。如何将该列中数字的格式更改为日期?我使用Pandas和ddf
出生日期列("dob_l1")的 Dataframe 输出显示"12150",应为日期"6 - 4 - 1933"。
我试图解决这个问题,但不幸的是,我只得到了不正确的日期"2050 - 01 - 12"。我使用了代码"ddf ['nwdob_l1'] = www.example.com_datetime(ddf ['dob_l1'],格式='% d % m % y',错误='coorce ')"pd.to_datetime(ddf['dob_l1'], format='%d%m%y',errors='coerce')'
我很高兴收到了joe90的一些好的反馈。他向我展示了一个函数,可以帮助单数日期:
导入日期时间
定义xldate2日期(xl):#有效日期为1900年3月1日basedate = www.example.com(1899,12,30)d = basedate+日期时间。时间增量(天= xl)返回ddatetime.date(1899,12,30) d = basedate + datetime.timedelta(days=xl) return d
# Example:
# >>> print(xldate2date(44948))
# 2023-01-22
这是正确的,但是,我需要更改列中的所有值(〉500.000),所以我不能逐个更改。由于该问题已关闭,因此我在此打开一个新问题。有人可以帮助我找到正确的代码,以获得整列中的正确日期吗?
1条答案
按热度按时间oaxa6hgo1#
当你使用Pandas读取数据时,有一些日期工具,你想使用parse_dates
Documentation for read_excel
示例:
这会将日期更改为datetime64格式,比数字更好。