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

python – 用pandas读取’csv’文件时解析日期时间

我正在尝试解析日期,当我从cvs文件中读取数据时.我使用的命令是

df  = pd.read_csv('/Users/n....', names=names, parse_dates=['date'])​ ) 

它一般都在处理我的文件.
我有几个数据集,其日期格式各不相同.我的意思是它的日期格式是这样的(09/20/15 09:59),而在其他行中有另一种格式就像是(2015-09-20 10:22:01.013)在同一个文件中.我上面写的命令对这些文件不起作用.它在我删除时工作(parse_dates = [‘date’]),但那次我不能使用date列作为datetime格式,它将该列读为整数.我很感激有人可以回答这个问题!

解决方法:

Pandas read_csv接受date_parser参数,您可以定义自己的日期解析函数.例如,在您的情况下,您可以使用两种不同的日期时间格式:

import datetime

def date_parser(d):
    try:
        d = datetime.datetime.strptime("format 1")
    except ValueError:
        try:
            d = datetime.datetime.strptime("format 2")
        except:
            # both formats not match, do something about it
    return d

df = pd.read_csv('/Users/n....', 
                 names=names, 
                 parse_dates=['date1', 'date2']),
                 date_parser=date_parser) 

然后,您可以在这些列中以不同格式解析这些日期.

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

相关推荐