从CSV Fi转换数据帧中的日期格式

2024-05-18 06:33:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要转换我的csv文件的日期格式到正确的熊猫格式,以便我可以排序它以后。我目前的格式无法在熊猫中合理地交互,所以我必须转换它

我的csv文件如下所示:

ARTIST,ALBUM,TRACK,DATE
ARTIST1,ALBUM1,TRACK1,23 Nov 2019 02:08
ARTIST1,ALBUM1,TRACK1,23 Nov 2019 02:11
ARTIST1,ALBUM1,TRACK1,23 Nov 2019 02:15

到目前为止,我已经成功地将其转换为熊猫格式:

df= pd.read_csv("mycsv.csv", delimiter=',')
convertdate= pd.to_datetime(df["DATE"])
print convertdate

####

#Original date format: 23 Nov 2019 02:08
#Output and desired date format: 2019-11-23 02:08:00

但是,这只会更改整个“日期”列中的值。打印csv文件的数据帧仍然输出原始的、未转换的日期格式。我需要将转换后的格式附加到源csv文件中

我想要的结果是

ARTIST,ALBUM,TRACK,DATE
ARTIST1,ALBUM1,TRACK1,2019-11-23 02:08:00
ARTIST1,ALBUM1,TRACK1,2019-11-23 02:11:00
ARTIST1,ALBUM1,TRACK1,2019-11-23 02:15:00

Tags: 文件csvdfalbumdateartist格式track
2条回答
dateparse = lambda x: pd.datetime.strptime(x, '%Y-%m-%d %H:%M:%S')

df = pd.read_csv('mycsv.csv', parse_dates=['DATE'], date_parser=dateparse)

read_csv方法有许多选项。 确保以您想要的格式读取数据,而不是稍后修复

df = pd.read_csv('mycsv.csv"', parse_dates=['DATE'])

只需将要转换的列名传入parse\u dates参数

原始代码中有两个问题。 它不是原始数据帧的一部分,因为转换后没有将它保存回列

所以不是:

convertdate= pd.to_datetime(df["DATE"])

用途:

df["DATE"]= pd.to_datetime(df["DATE"])

看在上帝的份上

相关问题 更多 >