Преобразование испанской даты в объект даты и времени Python Pandas с настройкой локали - PullRequest
0 голосов
/ 24 февраля 2019

У меня есть 2 вопроса:

  1. Как я могу преобразовать испанскую дату и время 'ago122010' в 2010-08-12, используя pandas .Правильно ли используется формат в strptime ?

Я пробовал следующее:

import locale
locale.setlocale(locale.LC_ALL, 'es_ES.utf8')

from datetime import datetime as dt

df['date'] = dt.strptime(df['date'], '%b%d%Y')
df['date'] = df['date'].strftime('%Y-%m-%d')

, но я получаю следующую ошибку:

Error: unsupported locale setting
как я могу преобразовать этот '20100812' в дату и время, используя панд .

1 Ответ

0 голосов
/ 24 февраля 2019

Думаю, проблема в используемой локали.Также проверьте форматирование.

import locale
locale.setlocale(locale.LC_ALL,'es_ES.UTF-8')

from datetime import datetime as dt
datetime_object = dt.strptime('20100812', '%Y%m%d')
datetime_object

Вывод:

datetime.datetime(2010, 8, 12, 0, 0)

Дайте мне знать, если это решит вашу проблему.

Попробовал еще несколькопримеры.

# read a spanish datetime format
datetime_object = dt.strptime('martes 12 julio 2016', '%A %d %B %Y')
print(datetime_object.strftime("%B"))
print(datetime_object)

# Change the locale to swede and print the month
locale.setlocale(locale.LC_TIME, "sv_SE")  
print(datetime_object.strftime("%B"))

Вывод:

julio
2016-07-12 00:00:00
Juli

Отредактировано для включения нужных вам конкретных сведений:

import locale
locale.setlocale(locale.LC_ALL,'es_ES.UTF-8')

from datetime import datetime as dt

datetime_object = dt.strptime('ago122010', '%b%d%Y')
locale.setlocale(locale.LC_ALL,'en_US.UTF-8')
print(datetime_object.strftime("%Y-%m-%d"))

Вывод

2010-08-12

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...