python - 识别日期时间列表
问题描述
我正在从包含日期时间列的 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']
解决方案
您可以使用以下方法将整个列转换为 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')]
推荐阅读
- liferay - 在 liferay 6.2 Portal 中导入大型 .lar 文件时出现问题?
- typescript - 简化 if 语句 - Angular
- ios - 如何在swift 5中的每个控制器上调用一个函数
- mysql - SQL LEFT JOIN 用于第一个表的所有记录和另一个表的匹配记录
- azure - 配置为从死信队列接收消息时未收到常规服务总线消息
- python - 我无法在我的项目上运行 SonarQube
- python - 将布尔值与整数混合时,Mypy 不会抛出错误
- javascript - 如何获取元素的新值?- Javascript
- javascript - 如何监听 firestore 子集合中所有文档的更改?
- sapper - 重新导出特定路线/段塞(静态生成)