python – 使用pandas读取.csv文件时指定时间戳措辞格式?

我有一个.csv文件,其中有数千个条目由数据记录器创建.

格式或多或少是这样的:

time                | data
01/07/2015 12:25:45 | 356.24
01/07/2015 12:25:50 | 357.24
01/07/2015 12:25:55 | 351.24
01/07/2015 12:26:00 | 357.20
01/07/2015 12:26:05 | 356.32
...

当我使用pandas读取文件

import pandas as pd
df = pd.read_csv(filename,  parse_dates=True, infer_datetime_format=True)

某些日期由于某种原因被识别为错误,因此我想手动指定日期格式字符串,格式为de format string format_str =’%d /%m /%Y%H:%M:%S’

我怎样才能做到这一点?

解决方法:

The pandas.read_csv function不仅采用parse_dates =参数,还采用date_parser =参数.使用date_parser =参数,您可以指定自己的函数来解析日期.

像这样:

def myparser(x):
    return datetime.strptime(x, '%d/%m/%Y %H:%M:%s')

df = pd.read_csv(filename,  parse_dates=True, date_parser=myparser)

这应确保始终仅使用该格式解析日期.

最好在读取csv时解析日期,而不是之后,因为你不必先将所有字符串加载到内存中,然后转换它们,而是在运行时转换它们.

它更有内存效率.

相关文章

转载:一文讲述Pandas库的数据读取、数据获取、数据拼接、数...
Pandas是一个开源的第三方Python库,从Numpy和Matplotlib的基...
整体流程登录天池在线编程环境导入pandas和xrld操作EXCEL文件...
 一、numpy小结             二、pandas2.1为...
1、时间偏移DateOffset对象DateOffset类似于时间差Timedelta...
1、pandas内置样式空值高亮highlight_null最大最小值高亮背景...