seabeck.pages.dev

Como criar um script Python para converter datas em lote?

Converter datas manualmente em grandes conjuntos de dados é uma tarefa tediosa e propensa a erros. Com um script Python, você automatiza esse processo em segundos, garantindo consistência e precisão em todas as conversões.

Pré-requisitos

Passo 1: Preparar o ambiente e o arquivo de dados

Crie um arquivo CSV chamado datas.csv com uma coluna chamada data_original. O script lerá este arquivo, converterá as datas e salvará o resultado em um novo arquivo.

Passo 2: Criar o script Python

Utilize o código abaixo para converter datas de diversos formatos para o padrão ISO (YYYY-MM-DD). O script detecta automaticamente o formato original e padroniza a saída.

import pandas as pd
from datetime import datetime

def converter_data(data):
    formatos = [
        '%d/%m/%Y', '%d-%m-%Y', '%Y/%m/%d', '%Y-%m-%d',
        '%d/%m/%y', '%d-%m-%y', '%Y/%m/%d', '%Y-%m-%d',
        '%m/%d/%Y', '%m-%d-%Y'
    ]
    for fmt in formatos:
        try:
            return datetime.strptime(data, fmt).strftime('%Y-%m-%d')
        except ValueError:
            continue
    return 'Formato inválido'

# Ler arquivo CSV
df = pd.read_csv('datas.csv')

# Aplicar conversão
df['data_convertida'] = df['data_original'].apply(converter_data)

# Salvar novo arquivo
df.to_csv('datas_convertidas.csv', index=False)
print('Conversão concluída! Arquivo datas_convertidas.csv gerado.')

Passo 3: Executar o script

Abra o terminal, navegue até a pasta onde o script está salvo e execute:

python converter_datas.py

O script processará todas as linhas do arquivo CSV e criará um novo arquivo com a coluna data_convertida contendo as datas no formato ISO.

Exemplo Prático

data_original data_convertida
15/03/2023 2023-03-15
2023-03-15 2023-03-15
03/15/2023 2023-03-15
15-03-23 2023-03-15

Conclusão

Com este script Python, você converte datas em lote de forma rápida e confiável, eliminando erros manuais e padronizando seus dados para análises futuras. O método é escalável para arquivos com milhares de registros e pode ser facilmente adaptado para outros formatos de data.