在pandas中结合两种不同格式的datetime

时间:2017-12-14 21:38:31

标签: python-2.7 pandas parsing datetime

我有很多包含日期和时间信息的csv文件。问题是我有两种不同的日期格式。

 MM/DD/YYYY HH:MM:SS

MM-DD-YYYY HH:MM:SS

我不想修改每个文件。有没有办法可以将所有MM-DD-YYYY HH:MM:SS datime修改为pandas中的MM / DD / YYYY HH:MM:SS格式?

3 个答案:

答案 0 :(得分:6)

在将它们合并到一个DataFrame / Series之前使用pandas.to_datetime

答案 1 :(得分:3)

Pandas to_datetime非常多才多艺,它会理解许多不同的格式。

from io import StringIO

d_csv = StringIO("""12/01/2016 01:01:00
12-01-2016 02:02:00""")
d = pd.read_csv(d_csv, header=None)    

d[0] = pd.to_datetime(d[0])

print(d)

输出:

                    0
0 2016-12-01 01:01:00
1 2016-12-01 02:02:00

答案 2 :(得分:0)

试试这个,(用一个解析日期格式的函数)

import pandas as pd

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

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