Python 在使用pandas读取.csv文件时指定时间戳语法格式?

Python 在使用pandas读取.csv文件时指定时间戳语法格式?,python,pandas,Python,Pandas,我有一个.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 ... 当我用熊猫读文件时 import pandas as pd df =

我有一个.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
...
当我用熊猫读文件时

import pandas as pd
df = pd.read_csv(filename,  parse_dates=True, infer_datetime_format=True)
由于某种原因,某些日期识别错误,因此我想手动指定日期格式字符串,即de格式字符串
format\u str='%d/%m/%Y%H:%m:%S'

我该怎么做呢?

不仅接受
parse\u dates=
参数,还接受
date\u parser=
参数。使用
date\u 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时解析日期,而不是之后,因为您不必先将所有字符串加载到内存中,然后再转换它们,而是动态地转换它们


它的内存效率更高。

您可以在后处理步骤中执行此操作,因此不要传递args
parse_dates
expert_datetime_format
然后在加载do
df['time']=pd.to_datetime(df['date'],format='%d/%m/%Y%H:%m:%S')
之后,日期解析器通常足够健壮,可以处理此问题,你能举个例子说明哪里出了问题吗?首先,它可能是无效数据。我会试试看,然后再回来。我将发布两个结果的示例。完全同意,但我需要先加载它,因为我正在为猴子制作一个应用程序,而猴子不知道它们在做什么,特别是谈论日期的格式。