我正在尝试阅读在一列中包含日期值的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'
将所有值转换为正确的日期时间的最佳方法是什么?
答案 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