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:
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:
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:
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:
pip install pandas openpyxl
Usando pandas para exportar para Excel
Agora, vamos salvar nossos dados sobre livros no Excel:
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:
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:
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.
GO TO FULL VERSION