matplotlib 如何将字符串列表转换为日期和时间列表

brgchamk  于 2023-03-13  发布在  其他
关注(0)|答案(3)|浏览(191)

我有一个包含日期和时间的字符串列表。我想把它转换成日期和时间列表。

lstDateTime = [datetime.strptime(x,'%Y-%m-%d %H:%M:%S.%f') for x in time]
print("lstDateTime:",lstDateTime)

它给出了荒谬的列表,如日期时间.日期时间(2017,1,1,10,12,13),日期时间.日期时间(2017,1,1,10,12,14),而实际的字符串列表如下所示:-“2017-01-01 16:59:25.000”,“2017-01-01 16:59:26.000”

pjngdqdw

pjngdqdw1#

最简洁的方法是使用panda,例如,将下面的test_list作为字符串:

import pandas as pd
dates = pd.to_datetime(list, format='%Y-%m-%d %H:%M:%S.%f')

这将返回一个series对象。如果您需要它作为列表,请转换它:

lstDateTime = date.to_list()
pn9klfpd

pn9klfpd2#

试试这个:

lstDateTime = [str(datetime.strptime(x,'%Y-%m-%d %H:%M:%S.%f').isoformat(timespec='milliseconds')) for x in time]
print(f'lstDateTime: {", ".join(lstDateTime)}')
utugiqy6

utugiqy63#

您直接打印列表,这会导致对象无法显示为您希望显示的格式化字符串。您可以使用strftime()来获得所需的输出。如果要使用与将字符串转换为日期时间对象时所使用的格式相同的格式,则可以使用以下命令:

lstDateTime = [datetime.strptime(x,'%Y-%m-%d %H:%M:%S.%f') for x in time]
lstDateTime = [x.strftime('%Y-%m-%d %H:%M:%S.%f') for x in lstDateTime]
print("lstDateTime:",lstDateTime)

相关问题