Преобразование формата даты из гг-мм-дд в гггг-мм-дд

У меня проблема следующего характера. После чтения данных из файла csv в фрейм данных pandas у меня есть дата в первом столбце. Формат этой даты - шесть символов «ггммдд» (int64). К сожалению, все попытки конвертировать в формат «гггг-мм-дд» не увенчались успехом. На входе «171207» он получает значение «1970-01-01 00: 00: 00.000171207». Ни одна из протестированных мной функций не поддерживает формат YY-MM-DD. (Pyth ver 3.9) Спрашиваем предложения. Заранее спасибо!

1 ответ

Вы можете справиться с проблемой вручную.

      # coding=utf8
# the above tag defines encoding for this document and is for Python 2.x compatibility

import re

regex = r"(\d{2})(\d{2})(\d{2})"

test_str = "171223"

matches = re.finditer(regex, test_str, re.MULTILINE)

for matchNum, match in enumerate(matches, start=1):
    
    print ("Match {matchNum} was found at {start}-{end}: {match}".format(matchNum = matchNum, start = match.start(), end = match.end(), match = match.group()))
    
    for groupNum in range(0, len(match.groups())):
        groupNum = groupNum + 1
        
        print ("Group {groupNum} found at {start}-{end}: {group}".format(groupNum = groupNum, start = match.start(groupNum), end = match.end(groupNum), group = match.group(groupNum)))

# Note: for Python 2.7 compatibility, use ur"" to prefix the regex and u"" to prefix the test string and substitution.

Для получения дополнительной информации о Regex используйте http://regex101.com

Другие вопросы по тегам