从CSV文件转换数据框中的日期格式

时间:2019-11-23 05:54:35

标签: python pandas csv dataframe

我需要将csv文件的日期格式转换为正确的pandas格式,以便以后进行排序。我当前的格式无法在大熊猫中进行合理的交互,因此我不得不将其转换。

这是我的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

但是,这只会更改整个“ DATE”列中的值。打印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

2 个答案:

答案 0 :(得分:1)

    Error occured: sql: expected 1 arguments, got 2

答案 1 :(得分:0)

read_csv方法有很多选项。 确保以所需的格式读取数据,而不是稍后进行修复。

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

只需将要转换的列名传递给parse_dates参数。

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

所以而不是:

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

使用:

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

出于善意,stop using python 2