Pandas使用混合日期格式读取excel

时间:2017-07-11 15:10:41

标签: python excel pandas

我正在尝试阅读在一列中包含日期值的Excel。然而,它们有两种不同的格式:

03.07.2017
03.07.2017
30/06/2017
30/06/2017
30/06/2017
03.07.2017
03.07.2017

07和06是月份数。

我导入excel:

denik=pd.read_excel('obchodnidenik.xlsx',converters={'Vstup - datum':str})

但是日期的转换方式不同。

我有两种日期/月份的日期格式:

'30/06/2017'
'2017-03-07 00:00:00'

将所有值转换为正确的日期时间的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

您可以在阅读Excel后使用Series.replace,然后将其转换为正确的日期时间并将dayfirst = True设置为适当的月份 例如:

n = ['03.07.2017','03.07.2017','30/06/2017','30/06/2017','30/06/2017','03.07.2017','03.07.2017']
df = pd.DataFrame(n)
df[0]=df[0].replace('[/\/.]','-',regex=True)
df[0] = pd.to_datetime(df[0],dayfirst=True)

输出:

0   2017-07-03
1   2017-07-03
2   2017-06-30
3   2017-06-30
4   2017-06-30
5   2017-07-03
6   2017-07-03