Python 将日期时间转换为历元时出错,请加5秒,然后再转换回日期时间
我在获取csv文件中的字符串时间以转换为Python内部的历元时遇到了一个问题。从长远来看,我要做的是从csv中获取datetime,转换为epoch,添加5秒,转换回datetime,然后将其用作新变量 但是,我尝试的任何方法都会返回一个格式错误Python 将日期时间转换为历元时出错,请加5秒,然后再转换回日期时间,python,csv,datetime,epoch,Python,Csv,Datetime,Epoch,我在获取csv文件中的字符串时间以转换为Python内部的历元时遇到了一个问题。从长远来看,我要做的是从csv中获取datetime,转换为epoch,添加5秒,转换回datetime,然后将其用作新变量 但是,我尝试的任何方法都会返回一个格式错误 ValueError: time data '"2019-04-03 09:01:14.000000"' does not match format '%Y-%m-%d %I:%M:%S.%f' 感谢您的帮助 我已经尝试过datetime.date
ValueError: time data '"2019-04-03 09:01:14.000000"' does not match format '%Y-%m-%d %I:%M:%S.%f'
感谢您的帮助
我已经尝试过datetime.datetime,使用calander等等。所有这些都返回一个格式错误,但我无法解释它抛出的格式
这是完整的代码。注释输出是我将来尝试使用代码的地方。(CSV格式:日期时间、IP、电子邮件、消息、电子邮件)
这些是我得到的结果(出于安全原因,抱歉,进行了编辑。)
%Y-%m-%d%I:%m:%S.%f
[“2019-04-03 09:01:14.000000”、“IP”、“电子邮件”、“MSG”、“电子邮件”]
“2019-04-03 09:01:14.000000”
我要找的是2019-04-03 09:01:14.000000到2019-04-03 09:01:18.000000的“新纪元”
谢谢你的帮助 您需要将字符串转换为datetime元组,然后将timedelta添加到原始时间。像这样:
#original string
string_time='2019-04-03 09:01:14.000000'
#Conversion
tm = datetime.datetime.strptime((string_time), '%Y-%m-%d %H:%M:%S.%f')
#Add the timedelta
future_or_past_time = tm + datetime.timedelta(seconds=4)
print future_or_past_time
>>> 2019-04-03 09:01:18
在这种情况下,要添加的时间增量可以是秒、小时、天等
希望能有所帮助。对于仍在观看的人,我发现了格式问题 问题在CSV文件中。它返回的格式为“2019-04-03 09:01:14.000000”。需要的是:“2019-04-03 09:01:14.000000”
注意:格式化时请注意双引号…:) 所以我尝试了一下,但还是遇到了格式错误。(它是独立的)然而,我开始怀疑这是否是CSV文件的格式问题。我将进一步研究,但感谢您的时间和帮助。:)@丹迪,这是你的绳子。这只是一个剥离所有引用的案例,你会很高兴去的。是的,我刚刚明白了。谢谢@AJSP您应该使用CSV读取器来读取文件,读取时将其作为unquotes值,写入时根据需要将其作为引号。@Dan D。我尝试过,但由于Splunk现在将信息放入CSV的方式,因此失败了。它也只是暂时的,因为它将很快进入DW。我只是在收集预信息,以预填充DW。
#original string
string_time='2019-04-03 09:01:14.000000'
#Conversion
tm = datetime.datetime.strptime((string_time), '%Y-%m-%d %H:%M:%S.%f')
#Add the timedelta
future_or_past_time = tm + datetime.timedelta(seconds=4)
print future_or_past_time
>>> 2019-04-03 09:01:18