Как конвертировать целое число в месяц и год - PullRequest
0 голосов
/ 02 декабря 2019

У меня есть набор данных в Excel CSV, где индекс представлен датой, но он имеет следующий формат:

201001
201002
201003 and so on.. 

Так что он в формате ГГГГММ. Мне нужно преобразовать его в datetime формат в Python.

Ответы [ 2 ]

2 голосов
/ 02 декабря 2019

Вы можете преобразовать их в дату и время, используя strptime().

from datetime import datetime 

data = ['201001', '201002', '201003']
dt = [datetime.strptime(s, '%Y%m') for s in data] 

Выход

[datetime.datetime(2010, 1, 1, 0, 0),
 datetime.datetime(2010, 2, 1, 0, 0),
 datetime.datetime(2010, 3, 1, 0, 0)]

Строка '%Y%m сообщает функции, что даты отформатированы как YYYYMM. Есть удобная ссылка на директивы strftime и strptime на strftime.org .

Редактировать:

Если ваш класс данных представляет собой число с плавающей запятой или целое число, вам сначала нужно преобразовать их в строки перед использованием strptime(). Чтобы сделать это, вы можете просто позвонить str() внутри списка.

data = [201001, 201002, 201003]
dt = [datetime.strptime(str(s), '%Y%m') for s in data] 
0 голосов
/ 02 декабря 2019

Используйте этот код:

from datetime import date
myint=201001
mydate=date(myint//100, myint%100, 1)
...