我正在嘗試運行一個非常基本的腳本:
import dateparser
dateparser.parse('12/12/12')
但我不斷收到同樣的錯誤
Traceback (most recent call last):
File ".../app/test.py", line 3, in <module>
dateparser.parse('12/12/12')
File ".../lib/python3.9/site-packages/dateparser/conf.py", line 92, in wrapper
return f(*args, **kwargs)
File ".../lib/python3.9/site-packages/dateparser/__init__.py", line 61, in parse
data = parser.get_date_data(date_string, date_formats)
File ".../lib/python3.9/site-packages/dateparser/date.py", line 428, in get_date_data
parsed_date = _DateLocaleParser.parse(
File ".../lib/python3.9/site-packages/dateparser/date.py", line 178, in parse
return instance._parse()
File ".../lib/python3.9/site-packages/dateparser/date.py", line 182, in _parse
date_data = self._parsers[parser_name]()
File ".../lib/python3.9/site-packages/dateparser/date.py", line 196, in _try_freshness_parser
return freshness_date_parser.get_date_data(self._get_translated_date(), self._settings)
File ".../lib/python3.9/site-packages/dateparser/date.py", line 234, in _get_translated_date
self._translated_date = self.locale.translate(
File ".../lib/python3.9/site-packages/dateparser/languages/locale.py", line 131, in translate
relative_translations = self._get_relative_translations(settings=settings)
File ".../lib/python3.9/site-packages/dateparser/languages/locale.py", line 158, in _get_relative_translations
self._generate_relative_translations(normalize=True))
File ".../lib/python3.9/site-packages/dateparser/languages/locale.py", line 172, in _generate_relative_translations
pattern = DIGIT_GROUP_PATTERN.sub(r'?P<n>\d ', pattern)
File ".../lib/python3.9/site-packages/regex/regex.py", line 700, in _compile_replacement_helper
is_group, items = _compile_replacement(source, pattern, is_unicode)
File ".../lib/python3.9/site-packages/regex/_regex_core.py", line 1736, in _compile_replacement
raise error("bad escape \\%s" % ch, source.string, source.pos)
regex._regex_core.error: bad escape \d at position 7
它可能是 dateparser 和 python 之間的兼容版本嗎?我正在使用 dateparser 1.1 和 python 3.9,并且 dateparsers 的檔案說它接受這個 python 版本。
uj5u.com熱心網友回復:
我們的團隊剛剛經歷了這個確切的問題,導致我們的生產服務器宕機。昨晚, 的依賴項之一dateparser已regex 更新為 version 2022.3.15。Dateparser 安裝正則運算式,但沒有凍結版本。似乎最新版本的正則運算式不喜歡 dateparser 正在做的事情,導致您看到的錯誤。通過regex==2022.3.2在 dateparser 之前安裝 pip,這完全解決了我們的問題。
uj5u.com熱心網友回復:
我不知道沒有我怎么過dateutil!
嘗試這個:
python -m pip install python-dateutil
或 conda-forge 或其他任何東西(它不在標準庫中),然后:
>>> from dateutil.parser import parse as date_parse
>>> date_parse('12/12/12')
datetime.datetime(2012, 12, 12, 0, 0)
如果您有pandas,dateutil已作為依賴項安裝。
uj5u.com熱心網友回復:
由于您提供了一種尷尬的格式,我會考慮為其設定格式
dateparser.parse('12/12/1212', date_formats=['%m/%d/%Y'])
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/447527.html
