Конвертация даты в питоне - PullRequest
2 голосов
/ 03 июля 2011

У меня есть некоторые данные в текстовом файле в следующем формате:

50 Cent     1975-07-06
75 Cents    1933-01-29
9th Wonder  1975-01-15
A Fine Frenzy   1984-12-23

Я хочу преобразовать это как:

50 Cent     July 6, 1975
75 Cents    January 29, 1933
9th Wonder  January 15, 1975
A Fine Frenzy   December 23, 1984

Может кто-нибудь из вас, пожалуйста, помогите мне. Спасибо заранее!

Ответы [ 3 ]

3 голосов
/ 03 июля 2011
import time

text = """50 Cent     1975-07-06
75 Cents    1933-01-29
9th Wonder  1975-01-15
A Fine Frenzy   1984-12-23"""

for line in text.splitlines():
    dob = line.rsplit(None, 1)[-1]
    dob_new = time.strftime('%B %d, %Y', time.strptime(dob, '%Y-%m-%d'))

    print line.replace(dob, dob_new)

Результат:

50 Cent     July 06, 1975
75 Cents    January 29, 1933
9th Wonder  January 15, 1975
A Fine Frenzy   December 23, 1984

Бонус:

Шпаргалка strftime

3 голосов
/ 03 июля 2011

Вы можете использовать strftime и strptime из модуля datetime Пожалуйста, найдите ниже мой пример кода:

output = []
with open(filename, 'r') as f:
    for line in (l.strip() for l in f if l.strip()):
        data = line.split()
        output.append(line.replace(data[-1], datetime.strptime(data[-1],'%Y-%m-%d').strftime('%B %d, %Y')))
1 голос
/ 03 июля 2011

Одним из способов является использование time.strptime для разбора и time.strftime для форматирования. pydoc time для документации.

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