首页 > 解决方案 > 识别日期时间列表

问题描述

我正在从包含日期时间列的 csv 文件中获取数据。从 csv 读取日期时间并插入到列表中。

如果我想使用此列表在图表中绘制数据,如何使列表内容识别为 Datetime 对象?

这是我的 csv:

DateTime;S1;S2;S3
2020-07-15 16:27:01.221660;652.3826361765446;661.0531016851814;387.24703877989487
2020-07-15 16:27:01.223424;356.3826361765446;243.0531016851814;481.24703877989487
2020-07-15 16:27:01.227896;987.3826361765446;198.0531016851814;275.24703877989487

这是我的代码:

import pandas as pd

class Read_csv:
    
    
    def csv_reader(self, file_name):
        
        df = pd.read_csv(file_name, delimiter = ';')
        DateTime_array = df["DateTime"].tolist()
        print(DateTime_array)

这是输出:

['2020-07-15 16:27:01.221660', '2020-07-15 16:27:01.223424', '2020-07-15 16:27:01.227896']

标签: python

解决方案


您可以使用以下方法将整个列转换为 DateTime 对象:

df['DateTime'] = pd.to_datetime(df['DateTime'])

所以你的代码会变成:

def csv_reader(file_name):
    df = pd.read_csv(file_name, delimiter=';')
    df['DateTime'] = pd.to_datetime(df['DateTime'])
    DateTime_array = df["DateTime"].tolist()
    print(DateTime_array)

导致:

[Timestamp('2020-07-15 16:27:01.221660'), Timestamp('2020-07-15 16:27:01.223424'), Timestamp('2020-07-15 16:27:01.227896')]

推荐阅读