Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python 3中解析俄语日期字符串时出错_Python_Python 3.x - Fatal编程技术网

在python 3中解析俄语日期字符串时出错

在python 3中解析俄语日期字符串时出错,python,python-3.x,Python,Python 3.x,我正在尝试将python 3中的日期字符串转换为日期对象,如下所示: from datetime import datetime import locale date_string = "Добавлено: суббота, 26 декабря 2015 г. в 11:01:59" locale.setlocale(locale.LC_TIME, "rus") ru_date_object = datetime.strptime(date_string , 'Добавлено: %A,

我正在尝试将python 3中的日期字符串转换为日期对象,如下所示:

from datetime import datetime
import locale

date_string = "Добавлено: суббота, 26 декабря 2015 г. в 11:01:59"
locale.setlocale(locale.LC_TIME, "rus")
ru_date_object = datetime.strptime(date_string , 'Добавлено: %A, %d %B %Y г. в %H:%M:%S')
print(ru_date_object)
我在执行上述代码时遇到以下错误:

回溯(最近一次呼叫最后一次): 文件“F:\Users***\Desktop\DateParser\20 nov.py”,第54行,在 ruDate=datetime.STRTIME(DATETSTR6,'\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e:%A,%d%B%Y\u0433。\u0432%H:%M:%S') 文件“F:\Users***\AppData\Local\Programs\Python\Python35-32\lib\u strptime.py”,第510行,在\u strptime\u datetime中 tt,分数=_strtime(数据字符串,格式) 文件“F:\Users***\AppData\Local\Programs\Python35-32\lib_strtime.py”,第343行,在_strtime中 (数据字符串,格式)) 值错误:时间数据'\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e:\u0441\u0443\u0431\u0431\u0431\u043e\u0442\u0430,26\u0434\u0435\u043a\u0430\u0431\u0440\u044f 2015\u0433\u0432 11:01:59“与格式不匹配”\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e:%A,%d%B%Y\u0433\u0432%H:%M:%S'


问题出在不是主格的单词“ббббб”。若要将此字符串解析为日期,您应该将“аааааа”替换为“ааааа”。您可以这样做:

from datetime import datetime
import locale

date_string = "Добавлено: суббота, 26 декабря 2015 г. в 11:01:59"
locale.setlocale(locale.LC_TIME, "rus")
d = {'января': 'январь', 'декабря': 'декабрь'}
for k, v in d.items():
    date_string = date_string.replace(k, v)
ru_date_object = datetime.strptime(date_string , 'Добавлено: %A, %d %B %Y г. в %H:%M:%S')
print(ru_date_object)