目前我正在從 csv 檔案中捕獲日期,但日期欄位可以采用任何格式。
我想將此日期轉換為僅 %Y-%m-%d 日期格式。但是用 strptime 是行不通的。
例如:
Csv Dates ----> Transformation
2020/06/23 06:00
---> 2020-06-23
23/04/2020 05:00
---> 2020-04-23
11/4/2020 10:00
---> 2020-04-11
2022/1/24 11:00
---> 2022-01-24
代碼:
fecha_csv = row[7]
fecha_csv = datetime.strptime(fecha_csv, '%Y-%m-%d %H:%M:%S')
fecha_csv = fecha_csv.date()
uj5u.com熱心網友回復:
這是假設您在示例中給出的日期格式。要格式化進一步的日期,這可能需要根據給定的日期進行修改。
您可能遇到的問題是您沒有將其轉換為正確的日期時間物件,以便您可以將其更改為您想要的日期格式。
您可以使用幾種方法將日期格式隨時間更改為日期。一種是如果日期的格式始終與所示示例相同,則只進行字串操作,或者您可以將其轉換為如下所示的日期時間物件。
fecha_csv = row[7]
if len(fecha_csv.split('/')[0]) > 2: # year is first
datetime.strptime(fecha_csv, '%Y/%m/%d %H:%M').strftime("%Y-%m-%d")
else: # year is last
datetime.strptime(fecha_csv, '%d/%m/%Y %H:%M').strftime("%Y-%m-%d")
您當前代碼的一個問題是它被格式化為讀取日期為 2020-06-23 06:00:00,而它應該只被格式化為讀取為 2020/06/23 06:00
uj5u.com熱心網友回復:
同樣,您可以使用日期決議器 -
from dateutil.parser import parse
fecha_csv = row[7]
csv_date = parse(fetch_csv).date()
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/481374.html
