[英]How do I modify the format of a date string? (Python/Excel)
Python 中將字符串轉換為給定格式的最佳方法是什么? 我的問題是我抓取了以下格式的日期: 2019 年 12 月 13 日上午 6:01
理想情況下我想在excel中分析抓取的數據,但不幸的是Excel無法讀取這種日期格式。
你認為最好用 Python 還是 Excel 來做?
謝謝
您可以使用標准庫或dateparser包在 Python 中明確地做到這一點。
>>> import dateparser
>>> dateparser.parse('Dec 13, 2019 6:01 am')
datetime.datetime(2019, 12, 13, 6, 1)
或直接轉為 ISO 格式:
>>> dateparser.parse('Dec 13, 2019 6:01 am').isoformat()
'2019-12-13T06:01:00'
以編程方式處理時間時要注意的另一件事是時區 - 這是很可能出現錯誤的地方。 有一個非常棒的包用於在 python 中處理日期時間數據,稱為pendulum ,我不能強調它是多么方便。 並且它的 API 與 python 的標准庫 datetime 完全兼容。 因此,您可以import pendulum as dt
而不是import datetime as dt
時間import datetime as dt
,它會起作用。
它還有一個很棒的解析器工具,支持時區:
>>> import pendulum
>>> dt = pendulum.parse('1975-05-21T22:00:00')
>>> print(dt)
'1975-05-21T22:00:00+00:00
# You can pass a tz keyword to specify the timezone
>>> dt = pendulum.parse('1975-05-21T22:00:00', tz='Europe/Paris')
>>> print(dt)
'1975-05-21T22:00:00+01:00'
# Not ISO 8601 compliant but common
>>> dt = pendulum.parse('1975-05-21 22:00:00')
通過傳遞tz
關鍵字參數,您可以同時解析和指定時區。
您可以使用strptime()
將字符串轉換為日期時間格式。
>>> utc_time = datetime.strptime("Dec 13, 2019 6:01 am", "%b %d, %Y %I:%M %p")
>>> utc_time.strftime("%d-%m-%Y %R")
'13-12-2019 06:01'
您可以使用pythons內置的datetime
庫。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.