开发者

What is the replacement for dateutil.parser in python3?

Python 2.x has a great function called dateutil.parser which turns an ISO8601 formatted date into a python datetime value. It's not present in P开发者_如何学运维ython 3. What is the replacement?


dateutil is a third party module. It has recently been ported to Python 3 with dateutil 2.0, and the parser functions was ported as well.

So the replacement is dateutil.parser. You just forgot to install it.


You should first find the exact name for the module using pip search:

pip search dateutil

Then, install the version you want (assuming py-dateutil):

pip install py-dateutil

Now, fire-up shell and import the module (pitfall: the module is not called py-dateutil):

import dateutil.parser

You should be good to go!


You can achieve this through the datetime module's strptime method.

>>> import datetime
>>> mydate = datetime.datetime(2002,12,4, 12, 30).isoformat()
>>> mydate
'2002-12-04T12:30:00'
>>> parsed_date = datetime.datetime.strptime( mydate, "%Y-%m-%dT%H:%M:%S" )
>>> parsed_date
datetime.datetime(2002, 12, 4, 12, 30)

strptime has a flexible set of options as to parsing your date. See strftime() and strptime() Behavior for more information.


If you install pandas, it comes with it. At least it happens to me.

C:\Users\dirak3d>pip install pandas
Collecting pandas
  Downloading https://files.pythonhosted.org/packages/a9/e8/ca7637c51767809cd7328dd01e246b8f2ec0fde566c9b7440b91d9a33460/pandas-0.23.3-cp37-cp37m-win32.whl (6.8MB)
    100% |████████████████████████████████| 6.8MB 137kB/s
Collecting pytz>=2011k (from pandas)
  Downloading https://files.pythonhosted.org/packages/30/4e/27c34b62430286c6d59177a0842ed90dc789ce5d1ed740887653b898779a/pytz-2018.5-py2.py3-none-any.whl (510kB)
    100% |████████████████████████████████| 512kB 216kB/s
Requirement already satisfied: numpy>=1.9.0 in c:\users\dirak3d\appdata\local\programs\python\python37-32\lib\site-packages (from pandas) (1.15.0)
Collecting python-dateutil>=2.5.0 (from pandas)
  Downloading https://files.pythonhosted.org/packages/cf/f5/af2b09c957ace60dcfac112b669c45c8c97e32f94aa8b56da4c6d1682825/python_dateutil-2.7.3-py2.py3-none-any.whl (211kB)
    100% |████████████████████████████████| 215kB 23kB/s
Collecting six>=1.5 (from python-dateutil>=2.5.0->pandas)
  Downloading https://files.pythonhosted.org/packages/67/4b/141a581104b1f6397bfa78ac9d43d8ad29a7ca43ea90a2d863fe3056e86a/six-1.11.0-py2.py3-none-any.whl
Installing collected packages: pytz, six, python-dateutil, pandas
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜