12. Leitura e Escrita de Dados em Arquivos com Python

A habilidade de ler e escrever dados em arquivos é uma competência essencial para qualquer pessoa que trabalha com análise de dados. Em Python, essa tarefa é facilitada por uma gama de bibliotecas e funções integradas que permitem interagir com diferentes tipos de arquivos de forma eficiente. Neste capítulo, exploraremos as ferramentas e técnicas mais comuns para a leitura e escrita de dados em arquivos usando Python.

Trabalhando com Arquivos de Texto

Os arquivos de texto são talvez o formato mais simples e comum para armazenar dados. Python oferece funções básicas para ler e escrever em arquivos de texto puro, como open(), read(), write() e close().

  1. Abrindo Arquivos: Para abrir um arquivo para leitura ou escrita, usamos a função open(). Ela aceita dois argumentos principais: o caminho do arquivo e o modo de abertura ('r' para leitura, 'w' para escrita, 'a' para anexar e 'b' para modo binário).

    file = open('data.txt', 'r')
  2. Lendo Arquivos: Uma vez aberto, podemos ler o conteúdo do arquivo com métodos como read(), readline() ou readlines().

    content = file.read()
    print(content)
  3. Escrevendo em Arquivos: Para escrever dados em um arquivo, abrimos o arquivo em modo de escrita ('w') e utilizamos o método write().

    file = open('data.txt', 'w')
    file.write('Hello, Python!')
  4. Fechando Arquivos: É importante fechar o arquivo após a leitura ou escrita para liberar recursos do sistema. Isso é feito com o método close().

    file.close()

Embora essas funções sejam poderosas, trabalhar diretamente com elas pode ser propenso a erros, como esquecer de fechar um arquivo. Para mitigar isso, Python oferece o gerenciador de contexto with, que garante que o arquivo seja fechado automaticamente após a execução do bloco de código.

with open('data.txt', 'r') as file:
    content = file.read()
    print(content)
# Não é necessário chamar file.close()

Trabalhando com Arquivos CSV

CSV (Comma-Separated Values) é um formato comum para armazenamento de dados tabulares. Python possui uma biblioteca chamada csv que fornece funcionalidades para ler e escrever arquivos CSV de maneira simples.

  1. Lendo Arquivos CSV: Podemos usar o módulo csv para ler dados de um arquivo CSV e convertê-los em listas ou dicionários.

    import csv
    
    with open('data.csv', 'r') as csvfile:
        reader = csv.reader(csvfile)
        for row in reader:
            print(row)
  2. Escrevendo Arquivos CSV: Da mesma forma, podemos escrever dados em um arquivo CSV usando o módulo csv.

    import csv
    
    data = [['Name', 'Age'], ['Alice', 24], ['Bob', 19]]
    
    with open('data.csv', 'w', newline='') as csvfile:
        writer = csv.writer(csvfile)
        writer.writerows(data)

Trabalhando com Arquivos JSON

JSON (JavaScript Object Notation) é um formato leve de troca de dados amplamente utilizado na web. Python possui uma biblioteca integrada chamada json que permite trabalhar facilmente com dados JSON.

  1. Lendo Arquivos JSON: Com a biblioteca json, podemos ler um arquivo JSON e convertê-lo em um dicionário Python.

    import json
    
    with open('data.json', 'r') as jsonfile:
        data = json.load(jsonfile)
        print(data)
  2. Escrevendo Arquivos JSON: Também podemos converter um dicionário Python em uma string JSON e escrevê-la em um arquivo.

    import json
    
    data = {'Name': 'Alice', 'Age': 24}
    
    with open('data.json', 'w') as jsonfile:
        json.dump(data, jsonfile)

Trabalhando com Arquivos Excel

Para trabalhar com arquivos Excel (.xlsx), a biblioteca openpyxl é uma excelente opção. Ela permite ler e escrever dados em planilhas Excel de forma eficiente.

  1. Lendo Arquivos Excel: Podemos acessar células e valores de uma planilha usando openpyxl.

    from openpyxl import load_workbook
    
    wb = load_workbook('data.xlsx')
    sheet = wb.active
    
    for row in sheet.iter_rows(values_only=True):
        print(row)
  2. Escrevendo em Arquivos Excel: Também é possível criar e modificar planilhas Excel.

    from openpyxl import Workbook
    
    wb = Workbook()
    sheet = wb.active
    
    sheet['A1'] = 'Name'
    sheet['B1'] = 'Age'
    sheet['A2'] = 'Alice'
    sheet['B2'] = 24
    
    wb.save('data.xlsx')

Considerações Finais

Ao lidar com leitura e escrita de dados em arquivos, é importante considerar aspectos como eficiência, segurança e o manuseio correto de exceções. Python oferece ferramentas robustas para tratar essas questões, permitindo que os analistas de dados se concentrem na análise propriamente dita, sem se preocupar excessivamente com os detalhes de baixo nível do manuseio de arquivos.

Com a prática e o uso adequado das bibliotecas disponíveis, a leitura e escrita de dados em arquivos com Python se torna uma tarefa simples e poderosa, abrindo portas para análises mais complexas e insights valiosos.

Agora responda o exercício sobre o conteúdo:

Você acertou! Parabéns, agora siga para a próxima página

Você errou! Tente novamente.

Imagem do artigo Processamento e Limpeza de Dados com Pandas

Próxima página do Ebook Gratuito:

47Processamento e Limpeza de Dados com Pandas

7 minutos

Ganhe seu Certificado deste Curso Gratuitamente! ao baixar o aplicativo Cursa e ler o ebook por lá. Disponível na Google Play ou App Store!

Disponível no Google Play Disponível no App Store

+ de 6,5 milhões
de alunos

Certificado Gratuito e
Válido em todo o Brasil

48 mil exercícios
gratuitos

4,8/5 classificação
nas lojas de apps

Cursos gratuitos em
vídeo, áudio e texto