gpt4 book ai didi

python - 使用 pandas 从 csv 读取日期时间时出错

转载 作者:太空宇宙 更新时间:2023-11-03 17:04:14 26 4
gpt4 key购买 nike

我正在使用 Pandas 来读取和处理 csv 文件。我的 csv 文件的日期/时间列如下所示:

11:59:50:322 02 10 2015 -0400 EDT
11:11:55:051 16 10 2015 -0400 EDT
00:38:37:106 02 11 2015 -0500 EST
04:15:51:600 14 11 2015 -0500 EST
04:15:51:600 14 11 2015 -0500 EST
13:43:28:540 28 11 2015 -0500 EST
09:24:12:723 14 12 2015 -0500 EST
13:28:12:346 28 12 2015 -0500 EST

如何使用 python/pandas 阅读此内容,到目前为止我所拥有的是:

pd.to_datetime(pd.Series(df['senseStartTime']),format='%H:%M:%S:%f %d %m %Y %z %Z')

但这不起作用,尽管以前我能够将相同的代码用于另一种格式(使用不同的格式说明符)。有什么建议吗?

最佳答案

您遇到的问题可能是因为 3.2 之前的 Python 版本(我认为?)在时区方面存在很多问题,因此您的格式字符串可能会在 %z 和 %Z 部分上出现问题。例如,在 Python 2.7 中:

In [187]: import datetime

In [188]: datetime.datetime.strptime('11:59:50:322 02 10 2015 -0400 EDT', '%H:%M:%S:%f %d %m %Y %z %Z')

ValueError: 'z' is a bad directive in format '%H:%M:%S:%f %d %m %Y %z %Z'

您使用的是 pd.to_datetime 而不是 datetime.datetime.strptime 但根本问题是相同的,您可以引用 this thread求助。我建议不要使用 pd.to_datetime,而是执行类似

的操作
In [191]: import dateutil

In [192]: dateutil.parser.parse('11:59:50.322 02 10 2015 -0400')
Out[192]: datetime.datetime(2015, 2, 10, 11, 59, 50, 322000, tzinfo=tzoffset(None, -14400))

在末尾切掉时区(这是多余的,因为你有偏移量),并将“:”更改为“。”应该非常简单。在秒和微秒之间。

关于python - 使用 pandas 从 csv 读取日期时间时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34735189/

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