Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.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将微秒追加到列表的日期元素_Python_List_Datetime_Append - Fatal编程技术网

Python将微秒追加到列表的日期元素

Python将微秒追加到列表的日期元素,python,list,datetime,append,Python,List,Datetime,Append,您好,我有一个如下生成的数据列表 l_ele=line.split() 如果列表的dateelement没有SSSS,我想将它追加到000000位。如何实现它 预期产出: ['2014-02-10T15:57:00.400733+00:00', 'coccus1','info="processing"] ['2014-02-10T15:57:02.734042+00:00', 'coccus1' , info="processing"] ['2014-02-10T15:57:02.000000+

您好,我有一个如下生成的数据列表

l_ele=line.split()

如果列表的dateelement没有SSSS,我想将它追加到000000位。如何实现它

预期产出:

['2014-02-10T15:57:00.400733+00:00', 'coccus1','info="processing"]
['2014-02-10T15:57:02.734042+00:00', 'coccus1' , info="processing"]
['2014-02-10T15:57:02.000000+00:00','coccus1','info="processing"']
['2014-02-10T15:57:03.000000+00:00', 'coccus1','info="looking for match"']
['2014-02-10T15:57:04.000000+00:00', 'coccus1', info="sampling"
['2014-02-10T15:57:06.771501+00:00','coccus1','info="sampling"']

不清楚数据的格式,但假设有两个字符串:

s1 = "2014-02-10T15:57:02+00:00"
s2 = "2014-02-10T15:57:02.734042+00:00"
您可以通过执行以下操作来确保它们都匹配格式:

def process_string(s):
    return s if len(s) == 32 else "".join((s[:-6], ".000000", s[-6:]))
或者,在Python 2.5之前版本中:

def process_string:
    if len(s) == 32:
        return s
    return "".join((s[:-6], ".000000", s[-6:]))
示例:

>>> process_string(s1)
'2014-02-10T15:57:02.000000+00:00'
>>> process_string(s2)
'2014-02-10T15:57:02.734042+00:00'
通常,我建议使用
datetime
来执行此操作,但您的时区偏移量不是
strtime
支持的格式


要将其应用于每个列表中的第一项,只需通过索引访问它,例如:

>>> l = ['2014-02-10T15:57:02+00:00', 'coccus1','info="processing"']
>>> l[0] = process_string(l[0])
>>> l
['2014-02-10T15:57:02.000000+00:00', 'coccus1', 'info="processing"']

这些行中的每一行都是列表吗?@msvalkon每一行都是列表。hi jornshare时间戳采用ISOformat格式,每一行都被拆分为一个列表。我如何扩展它以处理列表元素?更新以涵盖更新列表。
strtime
中的时区格式指令
'%z'
采用“UTC偏移量,格式为
+HHMM
-HHMM
”,无冒号;我不知道为什么。非常感谢我使用python 2.4.3,它给出了一个语法错误:(在代码中的at if返回s if len=32 else”“。join((s[:-6],“.000000”,s[-6:]))
>>> l = ['2014-02-10T15:57:02+00:00', 'coccus1','info="processing"']
>>> l[0] = process_string(l[0])
>>> l
['2014-02-10T15:57:02.000000+00:00', 'coccus1', 'info="processing"']