Como salvar dados em arquivos Excel e CSV com Python

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

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                

Blogs

Book Recommendations