CodeGym /Cursos /Python SELF PT /Salvando dados nos formatos CSV e Excel

Salvando dados nos formatos CSV e Excel

Python SELF PT
Nível 32 , Lição 3
Disponível

1. Preparando os dados para salvar

Nas aulas anteriores, já aprendemos como extrair dados de páginas web usando a biblioteca BeautifulSoup. Agora é hora de transformar nosso sucesso em scraping em algo útil e prático para análise. Afinal, se os dados permanecerem apenas no seu script, eles não têm muita utilidade. Hoje vamos aprender como salvar dados nos formatos CSV e Excel, porque, como dizem, na vida de um programador, assim como na vida de um gato, o mais importante é encontrar o que comer... quero dizer, salvar.

Antes de começarmos a transformar nossos dados em tabelas divertidas, vamos fazer uma pausa rápida e revisar como preparar nossos dados para exportação. Geralmente, os dados que extraímos de páginas web vêm na forma de listas ou dicionários. É importante formatá-los de forma que fiquem prontos para exportação em formato tabular.

Exemplo de dados

Suponha que você coletou os seguintes dados sobre livros:

Python

books = [
    {"title": "Harry Potter e a Pedra Filosofal", "author": "J. K. Rowling", "price": "350.00"},
    {"title": "O Senhor dos Anéis", "author": "J. R. R. Tolkien", "price": "500.00"},
    {"title": "O Mestre e Margarida", "author": "M. A. Bulgakov", "price": "450.00"}
]

2. Salvando no formato CSV

CSV (Comma-Separated Values) é um formato de texto simples que permite armazenar dados tabulares. Cada linha no CSV representa um registro, e cada coluna é separada por vírgulas. Vamos aprender como salvar nossos dados nesse formato.

Usando a biblioteca csv

O Python nos oferece um módulo muito útil chamado csv, que facilita bastante o trabalho com arquivos CSV. Veja como exportar nossos dados sobre livros para um arquivo CSV:

Python

import csv

with open('books.csv', mode='w', newline='', encoding='utf-8') as file:
    writer = csv.DictWriter(file, fieldnames=["title", "author", "price"])
    writer.writeheader()
    writer.writerows(books)

print("Dados salvos com sucesso em books.csv")

Importante: sempre especifique newline='' ao abrir o arquivo no modo w, para evitar linhas extras no Windows.

Lendo dados de um CSV

Para completar o aprendizado, vamos ver como ler os dados de volta de um CSV:

Python

with open('books.csv', mode='r', encoding='utf-8') as file:
    reader = csv.DictReader(file)
    for row in reader:
        print(row)

3. Salvando no formato Excel

Para trabalhar com Excel no Python, vamos usar a biblioteca pandas. Pandas facilita a conversão dos nossos dados para um DataFrame e sua exportação para vários formatos, incluindo Excel.

Instalando pandas

Se você ainda não instalou o pandas, pode fazer isso usando pip:

Bash

pip install pandas openpyxl

Usando pandas para exportar para Excel

Agora, vamos salvar nossos dados sobre livros no Excel:

Python

import pandas as pd

df = pd.DataFrame(books)
df.to_excel('books.xlsx', index=False, engine='openpyxl')

print("Dados salvos com sucesso em books.xlsx")

Lendo dados do Excel

Não há nada mais prazeroso do que criar algo e reutilizá-lo! Vamos aprender como ler dados do Excel:

Python

df = pd.read_excel('books.xlsx')
print(df)

4. Erros e como lidar com eles

Como em qualquer aspecto da programação, ao exportar dados, você pode enfrentar erros. Os mais comuns estão relacionados a caminhos de arquivos incorretos ou a ausência de bibliotecas necessárias. Por exemplo, se você esquecer de instalar o openpyxl, a exportação para Excel não funcionará.

Verificando se os arquivos existem

Antes de tentar gravar ou ler um arquivo, é útil verificar se ele existe. Isso pode ser feito com o módulo os:

Python

import os

if os.path.exists('books.csv'):
    print("O arquivo books.csv existe")
else:
    print("O arquivo books.csv não foi encontrado")

Acredite ou não, o erro mais comum de iniciantes é sobrescrever dados antigos com novos. Automatizar o salvamento do histórico de arquivos é quase uma arte.

Também não se esqueça de incluir o tratamento de erros usando try-except, para que o seu script não quebre na primeira dificuldade.

2
Tarefa
Python SELF PT, nível 32, lição 3
Bloqueado
Importação e exportação de dados em CSV
Importação e exportação de dados em CSV
3
Tarefa
Python SELF PT, nível 32, lição 3
Bloqueado
Exportação de dados para Excel
Exportação de dados para Excel
4
Tarefa
Python SELF PT, nível 32, lição 3
Bloqueado
Combinação de CSV e Excel
Combinação de CSV e Excel
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION