R语言:如何将CSV中格式不统一的日期转为%d/%m/%Y格式
嘿,这个日期格式不统一的问题我碰到过好多次了!给你分享两个靠谱的解决办法,不管你习惯写代码还是用Excel都能搞定👇
方法1:用Python Pandas批量处理(推荐自动化场景)
这是最灵活的方式,适合数据量较大或者需要重复处理的情况:
- 首先安装并导入Pandas库(如果没装的话先跑
pip install pandas)import pandas as pd - 读取CSV文件时,先把日期列按字符串读取,避免Pandas自动解析出错:
df = pd.read_csv('你的数据集.csv', parse_dates=False) - 用
pd.to_datetime自动识别多种日期格式,把列转成标准日期类型:df['日期列名称'] = pd.to_datetime(df['日期列名称'])小提示:如果有少数奇葩格式识别不了,可以手动指定可能的格式列表,比如
pd.to_datetime(df['日期列名称'], format=['%Y-%m-%d', '%m/%d/%Y', '%d-%m-%Y']);要是实在解析不了的,加errors='coerce'会把它们转成NaT(空日期),方便后续排查。 - 最后把标准日期转成你要的
%d/%m/%Y格式(注意要转成字符串类型):df['日期列名称'] = df['日期列名称'].dt.strftime('%d/%m/%Y') - 保存处理好的CSV:
df.to_csv('格式化后的数据集.csv', index=False)
方法2:用Excel手动处理(适合非代码用户)
如果你更习惯可视化操作,Excel也能轻松搞定:
- 用Excel打开你的CSV文件,选中需要统一格式的日期列
- 按下
Ctrl+1打开「单元格格式」窗口,切换到「数字」标签,选择「自定义」 - 在「类型」输入框里填写
dd/mm/yyyy,点击确定就完成格式统一啦 - 要是遇到Excel把日期当成文本的情况(比如
2023-10-05这类格式),可以在空白列用DATEVALUE函数转换:比如在B2单元格输入=DATEVALUE(A2)(A列是原日期),下拉填充后,把B列格式改成dd/mm/yyyy,最后替换原列即可
重要提醒:处理前一定要备份原数据集,避免操作失误导致数据丢失哦!
内容的提问来源于stack exchange,提问作者Ann M
相关产品推荐
相关产品推荐

