Como sempre digo, lidar com data é uma dor de cabeça em qualquer linguagem. Com o tempo a gente se acostuma, mas no começo é bem chato e trabalhoso lembrar de todas as formas de converter. Sempre tem aquele rolo da data vir com hora, ou com mês abreviado, ou com mês completo. Pensando nisso, este post vai mostrar como converter alguns formatos de data que chegam em texto no seu dataframe.
Primeiro, é importante conhecer a função que faz a conversão: a to_datetime(). Essa função pertence ao Pandas. Como a gente sempre carrega essa biblioteca quando lidamos com dados no Python, fica difícil para você esquecer.
A lógica é bem simples, insira o campo que deve ser convertido e o formato em que ele está. Claro, a pegadinha está no formato. Será que é só colocar “dmy” ou seria “ddmmyyyy”?
Primeiro, importe a biblioteca pandas:
import pandas as pd
Veja então como converter diferentes formatos:
# Dia da semana + mes + dia + ano separados por espaço exemplo1 = pd.to_datetime("Monday June 08, 2020", format="%A %B %d, %Y") print(exemplo1) # ano + mes + dia + hora separados por espaço exemplo_2 = pd.to_datetime("2020 June 08 01:56", format="%Y %B %d %H:%M") print(exemplo_2) # ano+mes+dia separados por hífen exemplo_3 = pd.to_datetime("2020-06-08", format="%Y-%m-%d") print(exemplo_3) # mes + dia + ano separados por barra exemplo_4 = pd.to_datetime("06/08/2020", format="%m/%d/%Y") print(exemplo_4)
Com uma sintaxe parecida, você pode fazer conversões com o datetime:
from datetime import datetime exemplo_5 = datetime.strptime('01-08-2020', '%d-%m-%Y') print(exemplo_5) exemplo_6 = datetime.strptime('01-08-2020, 00:00:00', '%d-%m-%Y, %H:%M:%S') print(exemplo_6)
Viu como vai ficando mais fácil?
Agora está mais tranquilo lidar com datas.