簡體   English   中英

如何將此日期格式解析為日期時間? 蟒蛇/熊貓

[英]How can I parse this date format into datetime? Python/Pandas

我目前的起始日期格式是2019-09-04 16:00 UTC+3 ,我正在嘗試將其轉換為2019-09-04 16:00:00+0300的日期時間格式。

我認為可行的format='%Y-%m-%d %H:%M %Z%z'format='%Y-%m-%d %H:%M %Z%z' ,但是當我運行它時,我收到錯誤消息ValueError: Cannot parse both %Z and %z

有誰知道要使用的正確格式,還是我應該完全嘗試不同的方法? 謝謝。

編輯對不起,我很難用語言表達我想要做什么,希望我能澄清。

我希望將數據框中的所有日期和時間更改為日期時間格式。

這是我嘗試使用的方法,它向我展示了一個錯誤df['datepicker'] = pd.to_datetime(df['datepicker'], format='%Y-%m-%d %H:%M %Z%z')

這是我目前擁有的數據樣本。

datepicker
2019-09-07 16:00 UTC+2
2019-09-04 18:30 UTC+4
2019-09-06 17:00 UTC±0
2019-09-10 16:00 UTC+1
2019-09-04 18:00 UTC+3

這就是我希望將它們轉換為時間戳格式的內容。

datepicker
2019-09-07 16:00:00+0200
2019-09-04 18:30:00+0400
2019-09-06 17:00:00+0000
2019-09-10 16:00:00+0100
2019-09-04 18:00:00+0300

當我定義如下。 它按您的預期工作。

from datetime import datetime, timedelta, timezone

UTC = timezone(timedelta(hours=+3))
dt = datetime(2019, 1, 1, 12, 0, 0, tzinfo=UTC)
timestampStr = dt.strftime("%Y-%m-%d %H:%M %Z%z")
print(timestampStr)

隨着輸出:

2019-01-01 12:00 UTC+03:00+0300

如果您稍微調整字符串, pandas.to_datetime應該很高興地解析它:

import pandas as pd
df = pd.DataFrame({"datepicker":[ "2019-09-07 16:00 UTC+2", "2019-09-04 18:30 UTC+4",
                                  "2019-09-06 17:00 UTC±0", "2019-09-10 16:00 UTC+1", 
                                  "2019-09-04 18:00 UTC+3"]})
df['datetime'] = pd.to_datetime(df['datepicker'].str.replace('±', '+'))
# df['datetime']
# 0    2019-09-07 16:00:00-02:00
# 1    2019-09-04 18:30:00-04:00
# 2    2019-09-06 17:00:00+00:00
# 3    2019-09-10 16:00:00-01:00
# 4    2019-09-04 18:00:00-03:00
# Name: datetime, dtype: object

請注意,由於混合的 UTC 偏移量,該列的數據類型為“對象”(日期時間對象)。 如果您願意,您也可以立即轉換為 UTC,以獲得一列 dtype datetime[ns]:

df['UTC'] = pd.to_datetime(df['datepicker'].str.replace('±', '+'), utc=True)
# df['UTC']
# 0   2019-09-07 18:00:00+00:00
# 1   2019-09-04 22:30:00+00:00
# 2   2019-09-06 17:00:00+00:00
# 3   2019-09-10 17:00:00+00:00
# 4   2019-09-04 21:00:00+00:00
# Name: UTC, dtype: datetime64[ns, UTC]

暫無
暫無

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

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