我有一个csv文件,其中包含一列日期。日期按月顺序排列-因此,首先是1月,然后是2月,依此类推。问题在于某些日期采用mm / dd / yyyy格式,而其他日期则采用dd / mm / yyyy格式。这就是它的样子。
日期
01/08/2005
01/12/2005
15/01/2005
19/01/2005
22/01/2005
26/01/2005
29/01/2005
03/02/2005
05/02/2005
...
我想将它们全部采用相同的格式(dd / mm / yyyy)
我正在使用Python和熊猫读取和编辑csv文件。我尝试使用Excel使用内置的格式设置工具手动更改日期格式,但是对于大量行来说似乎是不可能的。我正在考虑使用正则表达式,但是我不太确定如何区分月优先和天优先。
# here's what i have so far
date = df.loc[i, 'Date']
pattern = r'\d\d/\d\d/\d\d'
match = re.search(pattern, date)
if match:
date_items = date.split('/')
day = date_items[1]
month = date_items[0]
year = date_items[2]
new_date = f'{dd}/{mm}/{year}'
df.loc[i, 'Date'] = new_date
我希望csv最后具有统一的日期格式。
答案 0 :(得分:1)
简而言之:你不能!
您无法知道2019年1月2日是1月2日还是2月1日! 您的示例中的其他日期也是如此:
01/08/2005
01/12/2005
03/02/2005
05/02/2005