微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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时解析日期,而不是之后,因为你不必先将所有字符串加载到内存中,然后转换它们,而是在运行时转换它们.

它更有内存效率.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐