两种方法修改CSV文件里数据的日期格式 python 和 excel
如何修改CSV文件里的日期格式
前几天做时序预测,数据是 m/d/yyyy 格式的,但是pandas不认这种日期格式。于是就想用python写个脚本一起改了。
方法一:
略微冲了一下浪,找到了Dataframe的增删改查的方法。‘date’ 是列名。
import pandas as pd
data = pd.read_csv("Dataset_Finished.csv",header=0)
import datetime
data.loc[:,'date'] = pd.to_datetime(data.loc[:,'date'], format='%m/%d/%Y', errors='coerce')
data.to_csv('change.csv')
修改成功,但是我想打开excel修改个别数据的时候发现日期格式又变回原来的%m/%d/%Y。一阵冲浪后发现,excel自动会把日期的变量转换为windows默认日期格式,就是windows右下角的日期格式。
所以,即使数据只有 ‘10:00 AM’,windows也会自动补齐年月日,变成1/0/1900 10:00:00 AM。
我心想excel这么智能,都能给我自己改回来。那肯定有办法直接改日期格式。
方法二:
在excel或wps里选中所需数据,我这里是ob_time一整列。
右键 ‘设置单元格格式’ 或 ‘Format cells‘
数字里有日期选项,但是格式都不伦不类,与我无用。点击自定义。
输入自己想要的数据格式,比如我用的是 yyyy/mm/dd hh:mm,点击确定。
可以看到日期格式修改了,虽然格子里原来的数据还在。
保存后在编辑器里读取是修改后的数据。
至此,问题解决。
唯一问题就是,如果你再次在excel里打开csv文件,日期格式又会回到windows默认格式。