簡體   English   中英

從CSV文件轉換數據框中的日期格式

[英]Converting Date Format in a Dataframe from a CSV File

我需要將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
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_dates參數即可。

原始代碼中有2個問題。 它不是原始數據框的一部分,因為轉換后沒有將其保存回到列中。

所以代替:

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

使用:

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

順便說一句, 停止使用python 2

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM