Na programação em Python, é comum trabalhar com dados armazenados em diferentes formatos, como SQL e CSV. Este capítulo vai guiá-lo através do processo de importação dessas bases de dados na linguagem Python, utilizando bibliotecas populares.
Importação de Dados de SQL
Para interagir com bases de dados SQL, vamos utilizar a biblioteca sqlite3
, que vem integrada no Python. Suponha que temos uma base de dados SQLite chamada clientes.db
com uma tabela cliente
que contém as colunas id
, nome
e email
.
Exemplo Prático
import sqlite3
# Estabelecer ligação à base de dados
conexao = sqlite3.connect('clientes.db')
# Criar um cursor
cursor = conexao.cursor()
# Executar uma consulta
cursor.execute("SELECT * FROM cliente")
# Obter todos os resultados da consulta
resultados = cursor.fetchall()
# Mostrar resultados
for linha in resultados:
print(linha)
# Fechar a ligação à base de dados
conexao.close()
Aqui, estabelecemos uma ligação à base de dados clientes.db
, criamos um cursor para interagir com a base de dados, executamos uma consulta SQL, capturamos os resultados com fetchall()
e, finalmente, mostramos esses resultados.
Importação de Dados de CSV
Os ficheiros CSV (Comma-Separated Values) são amplamente utilizados para armazenar dados tabulares. A biblioteca pandas
torna a importação de ficheiros CSV em Python um processo direto e eficiente.
Exemplo Prático
Primeiro, assegure-se de que tem a biblioteca pandas
instalada. Pode instalá-la usando o seguinte comando:
pip install pandas
No seguinte exemplo, temos um ficheiro CSV chamado clientes.csv
com colunas id
, nome
e email
.
import pandas as pd
# Ler ficheiro CSV
df = pd.read_csv('clientes.csv')
# Mostrar os primeiros 5 registos
print(df.head())
# Mostrar colunas especificas
print(df[['nome', 'email']])
Este exemplo utiliza a função read_csv
do pandas
para ler os dados do ficheiro CSV clientes.csv
e armazená-los numa DataFrame. Usamos head()
para mostrar os primeiros 5 registos e depois mostramos apenas as colunas nome
e email
.
Integração de Dados SQL e CSV
É muitas vezes necessário combinar dados de diferentes fontes. Podemos importar dados SQL e CSV e integrá-los para realizar análises mais completas.
Exemplo Prático
import sqlite3
import pandas as pd
# Estabelecer ligação à base de dados SQLite
conexao = sqlite3.connect('clientes.db')
# Ler dados SQL
df_sql = pd.read_sql_query("SELECT * FROM cliente", conexao)
# Fechar a ligação à base de dados
conexao.close()
# Ler dados CSV
df_csv = pd.read_csv('vendas.csv')
# Juntar DataFrames
df_combined = pd.merge(df_sql, df_csv, on='id')
# Mostrar DataFrame combinado
print(df_combined)
Neste exemplo, importamos dados de uma base de dados SQL e de um ficheiro CSV. Utilizamos a função pd.merge()
para integrar ambos os DataFrames com base numa coluna comum, neste caso, a coluna id
.
Importação de Dados de uma Base de Dados SQL
Pré-requisitos para Trabalhar com MySQL
Antes de começarmos, é necessário garantir que tens o MySQL instalado no teu sistema. Além disso, necessitarás de uma biblioteca Python que te permita estabelecer uma ligação com a base de dados MySQL. Vamos utilizar a biblioteca mysql-connector-python
.
Para instalar a biblioteca, podes usar o seguinte comando no teu terminal:
pip install mysql-connector-python
Estabelecer uma Ligação com MySQL
Vamos começar por estabelecer uma ligação à base de dados MySQL. Aqui está um exemplo de como o fazer:
import mysql.connector
# Detalhes da ligação
config = {
'user': 'teu_utilizador_mysql',
'password': 'tua_senha_mysql',
'host': 'localhost',
'database': 'nome_da_base_de_dados'
}
# Estabelecer a ligação à base de dados
conn = mysql.connector.connect(**config)
# Criar um cursor para executar as consultas SQL
cursor = conn.cursor()
Consultar Dados da Base de Dados
Depois de estabelecermos a ligação, podemos consultar dados da base de dados. Vamos supor que temos uma tabela chamada clientes
na base de dados e queremos obter todos os registros dessa tabela:
# Definir a consulta SQL
consulta = "SELECT * FROM clientes"
# Executar a consulta
cursor.execute(consulta)
# Obter os resultados
resultados = cursor.fetchall()
# Mostrar os resultados
for row in resultados:
print(row)
# Fechar o cursor e a ligação
cursor.close()
conn.close()
Neste exemplo, utilizamos a função fetchall()
para obter todos os registros da tabela clientes
e, em seguida, imprimimos cada registro.
Resumo
Neste capítulo, aprendemos a importar dados de bases de dados SQL utilizando a biblioteca sqlite3
e MySQL, e a importar ficheiros CSV com a biblioteca pandas
. Também explorámos como integrar dados a partir dessas duas fontes distintas.
Quiz
-
Qual é a função utilizada para estabelecer uma ligação a uma base de dados SQLite em Python? a) connect() b) make_connection() c) db_connect() d) open_connection()
-
Qual biblioteca utilizamos para ler ficheiros CSV em Python? a) numpy b) pandas c) sqlite3 d) matplotlib
-
Como é que pode mostrar os primeiros 5 registos de um DataFrame num PDataFrameandas? a) print(df.show(5)) b) print(df.first(5)) c) print(df.head()) d) print(df.tail())
-
Em que função utilizamos a função
pd.merge()
na integração de dados? a) Para ordenar os dados b) Para combinar DataFrames c) Para filtrar dados d) Para calcular a média dos dados -
Qual método é usado para fechar uma ligação a uma base de dados em
sqlite3
? a) cursor.close() b) db.close() c) disconnect() d) connection.close()## Introdução às Importações de SQL e CSV
Neste capítulo, vamos explorar como importar dados de ficheiros SQL e CSV para os nossos programas em Python. Esta habilidade é fundamental para qualquer programador que pretenda trabalhar com grandes volumes de dados, provenientes de bases de dados relacionais ou de ficheiros CSV frequentemente usados em análises de dados.
Primeiro, vamos aprender a ligar e extrair dados de uma base de dados MySQL. Em seguida, veremos como ler dados de um ficheiro CSV e processá-los em Python para fins diversos.