Principais formatos para armazenar dados em Python
Trabalhar com arquivos Excel e CSV é uma habilidade essencial para desenvolvedores Python, especialmente nas áreas de análise de dados, automação de relatórios e desenvolvimento de sistemas backend. Escrever dados corretamente em arquivos permite armazenar, transmitir e processar informações de forma eficiente entre diferentes sistemas.
Neste guia, você vai conhecer as principais formas de salvar dados em formatos populares usando bibliotecas padrão e de terceiros do Python. Vamos explorar exemplos práticos com arquivos CSV e Excel, além de técnicas de formatação e estruturação de dados.
Formato CSV: características e aplicações
O que é o formato CSV
CSV (Comma-Separated Values) é um formato de texto simples para armazenar dados tabulares. Nele, os valores são separados por vírgulas ou outros delimitadores, como ponto e vírgula ou tabulação. O formato CSV é amplamente utilizado para troca de dados entre diferentes aplicações e sistemas.
Vantagens do formato CSV
- Formato de texto leve e legível
- Abre rapidamente em qualquer editor de texto, inclusive no Excel
- Ideal para transferir dados entre sistemas
- Tamanho de arquivo pequeno comparado a formatos binários
- Suportado pela maioria dos programas de manipulação de dados
Limitações do formato CSV
- Sem suporte a formatação complexa (cores, fontes)
- Não é possível armazenar fórmulas ou cálculos
- Suporte limitado a diferentes tipos de dados
- Não permite armazenar imagens ou tabelas aninhadas
Trabalhando com CSV usando a biblioteca padrão
Fundamentos do módulo csv
O módulo csv faz parte da biblioteca padrão do Python e não requer instalação adicional. Ele oferece ferramentas práticas para ler e escrever arquivos CSV com diversas configurações de formatação.
import csv
data = [
['Nome', 'Idade', 'Cidade'],
['João', 28, 'São Paulo'],
['Maria', 25, 'Rio de Janeiro']
]
with open('pessoas.csv', 'w', newline='', encoding='utf-8') as file:
writer = csv.writer(file)
writer.writerows(data)
Após executar este código, será criado o arquivo pessoas.csv com o seguinte conteúdo:
Nome,Idade,Cidade
João,28,São Paulo
Maria,25,Rio de Janeiro
Configurando delimitadores no CSV
O delimitador padrão do CSV pode ser alterado conforme os requisitos do sistema ou configurações regionais:
with open('pessoas.csv', 'w', newline='', encoding='utf-8') as file:
writer = csv.writer(file, delimiter=';')
writer.writerows(data)
Trabalhando com DictWriter
Para facilitar o trabalho com dados no formato de dicionários, use a classe DictWriter:
import csv
data = [
{'Nome': 'João', 'Idade': 28, 'Cidade': 'São Paulo'},
{'Nome': 'Maria', 'Idade': 25, 'Cidade': 'Rio de Janeiro'}
]
with open('pessoas.csv', 'w', newline='', encoding='utf-8') as file:
fieldnames = ['Nome', 'Idade', 'Cidade']
writer = csv.DictWriter(file, fieldnames=fieldnames)
writer.writeheader()
writer.writerows(data)
Trabalhando com arquivos Excel usando openpyxl
Instalação e configuração da biblioteca
Arquivos Excel são usados quando você precisa armazenar dados estruturados com formatação, fórmulas ou gráficos. A biblioteca openpyxl oferece um conjunto completo de ferramentas para trabalhar com arquivos Excel.
pip install openpyxl
Criando um arquivo Excel básico
from openpyxl import Workbook
data = [
['Nome', 'Idade', 'Cidade'],
['João', 28, 'São Paulo'],
['Maria', 25, 'Rio de Janeiro']
]
wb