Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将日期时间转换为历元时出错,请加5秒,然后再转换回日期时间_Python_Csv_Datetime_Epoch - Fatal编程技术网

Python 将日期时间转换为历元时出错,请加5秒,然后再转换回日期时间

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

我在获取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.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