gpt4 book ai didi

python - SAS date9 格式到 python 日期时间

转载 作者:太空宇宙 更新时间:2023-11-03 15:45:47 27 4
gpt4 key购买 nike

我有一个 CSV 格式的 SAS 的 [date9.][1] 输出。但是 dateutil.parser.parse 不识别它,pandas.to_datetime 也不识别(也是一个问题,to_datetime 使用 dateutil .parser?).

他们扔:

  File "C:\redacted\dateutil\parser.py", line 559, in parse
raise ValueError("Unknown string format")

ValueError: Unknown string format

格式如下:

0         12FEB1993
1 12FEB1993
...
16 16NOV1972
17 01SEP2001
18 06JUL2000
19 01FEB2014

第二列中包含所有重要内容。有没有图书馆可以解决这个问题,还是我必须自己动手?如果是后者,怎么办?

最佳答案

您可以将 format 参数传递给 pandas.to_datetime() 吗?类似于:pandas.to_datetime(date_column, format='%d%b%Y')

如果您可以获取字符串形式的日期,那么任何采用 strptime 格式的日期解析函数都应该使用 %d%b%Y 模式:

>>> datetime.datetime.strptime('12FEB1993', '%d%b%Y')
datetime.datetime(1993, 2, 12, 0, 0)

编辑:

它看起来像 pandas.to_datetime() 导致 pandas.Timestamp 对象,这是由于 resolution limits限制在 ~584 年,或最大 2262 年。

因为您有超出该范围的日期字符串,您可以将列作为字符串读取,然后调用 apply 将值转换为 date 对象:

import datetime
my_df['date'] = my_df['date_text'].apply(lambda x: datetime.datetime.strptime(x, '%d%b%Y').date())

关于python - SAS date9 格式到 python 日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50049494/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com