Método específico para escrever e ler listas em arquivos com Python

Python é uma linguagem extremamente flexível para processamento de dados, e operações de salvar dados de lista em arquivos e carregá-los novamente são comuns. Neste artigo, explicaremos métodos específicos para escrever e ler listas em arquivos de texto e CSV usando Python, com exemplos de código detalhados.

Índice

Como escrever listas em arquivos com Python

Escrever listas em arquivos com Python é muito útil para salvar e compartilhar dados. Nesta seção, explicaremos o procedimento para escrever uma lista em um arquivo de texto.

Escrevendo em um arquivo de texto

Para escrever uma lista em um arquivo de texto, usamos a função embutida open do Python. A função open abre o arquivo, e ao especificar o modo w, o arquivo é aberto em modo de escrita.

Abrindo o arquivo em modo de escrita

with open('output.txt', 'w') as file:
    for item in my_list:
        file.write(f"{item}\n")

No código acima, usamos a estrutura with open para abrir o arquivo. Abrimos o arquivo chamado output.txt em modo w (modo de escrita), escrevendo cada elemento da lista em uma linha. A função file.write escreve cada elemento da lista no arquivo.

Fechando o arquivo

Com a estrutura with open, o arquivo é automaticamente fechado após o término da operação, eliminando a necessidade de fechar o arquivo explicitamente e permitindo uma manipulação segura.

Exemplo de código para escrever listas em arquivos

Explicaremos como escrever listas em arquivos com Python através de exemplos de código específicos.

Definindo e inicializando a lista

Primeiro, definimos a lista que será escrita. Neste exemplo, armazenamos nomes de frutas na lista.

my_list = ['Apple', 'Banana', 'Cherry', 'Date', 'Elderberry']

Exemplo de código para escrever uma lista em um arquivo

Em seguida, escrevemos o conteúdo da lista em um arquivo de texto.

with open('fruits.txt', 'w') as file:
    for item in my_list:
        file.write(f"{item}\n")

Explicação do código

  • with open('fruits.txt', 'w') as file:
    Cria e abre um arquivo chamado 'fruits.txt' em modo de escrita ('w'). Usando a estrutura with, o arquivo será automaticamente fechado ao término da operação.
  • for item in my_list:
    Executa um loop para cada elemento da lista my_list.
  • file.write(f"{item}\n")
    Escreve cada elemento da lista em uma linha no arquivo. A expressão f"{item}\n" adiciona uma nova linha após cada elemento.

Verificação do resultado

Após executar o código acima, será criado um arquivo chamado fruits.txt, contendo cada elemento da lista em uma linha. O conteúdo do arquivo será o seguinte:

Apple
Banana
Cherry
Date
Elderberry

Como ler listas de arquivos com Python

Ler listas de arquivos com Python é importante para reutilização e análise de dados. Nesta seção, explicaremos como carregar listas de um arquivo de texto.

Método para ler de um arquivo de texto

Para ler uma lista de um arquivo de texto, usamos a função embutida open do Python. A função open abre o arquivo, e ao especificar o modo r, o arquivo é aberto em modo de leitura.

Abrindo o arquivo em modo de leitura

with open('fruits.txt', 'r') as file:
    my_list = [line.strip() for line in file]

No código acima, usamos a estrutura with open para abrir o arquivo. O arquivo chamado fruits.txt é aberto em modo r (modo de leitura), e cada linha do arquivo é lida e armazenada em uma lista.

Conversão para lista

  • with open('fruits.txt', 'r') as file:
    Abre o arquivo chamado 'fruits.txt' em modo de leitura ('r'). Com a estrutura with, o arquivo será automaticamente fechado após o término da operação.
  • my_list = [line.strip() for line in file]
    Lê cada linha do arquivo e a armazena na lista my_list. O método line.strip() remove o caractere de nova linha no final de cada linha.

Verificação do resultado

Após executar o código acima, os dados lidos de fruits.txt são armazenados na lista my_list. O conteúdo do arquivo é convertido para uma lista como a seguinte:

my_list = ['Apple', 'Banana', 'Cherry', 'Date', 'Elderberry']

Exemplo de código para ler listas de arquivos

Explicaremos como ler listas de arquivos com Python através de exemplos de código específicos.

Exemplo de código para ler uma lista de um arquivo

O código a seguir mostra como carregar uma lista de um arquivo de texto.

with open('fruits.txt', 'r') as file:
    my_list = [line.strip() for line in file]

Explicação do código

  • with open('fruits.txt', 'r') as file:
    Abre o arquivo 'fruits.txt' em modo de leitura ('r'). A estrutura with fecha automaticamente o arquivo após a operação.
  • my_list = [line.strip() for line in file]
    Lê cada linha do arquivo e armazena na lista my_list. A compreensão de lista é usada para processar cada linha e o método line.strip() remove o caractere de nova linha.

Exemplo prático

Abaixo, mostramos o conteúdo real do arquivo e o conteúdo da lista após a leitura.

Conteúdo de fruits.txt:

Apple
Banana
Cherry
Date
Elderberry

Lista carregada:

my_list = ['Apple', 'Banana', 'Cherry', 'Date', 'Elderberry']

Tratamento de erros

Para o caso de o arquivo não existir ou a leitura falhar, é importante adicionar tratamento de erros. No exemplo abaixo, usamos try e except para lidar com erros.

try:
    with open('fruits.txt', 'r') as file:
        my_list = [line.strip() for line in file]
except FileNotFoundError:
    print("Arquivo não encontrado.")
except IOError:
    print("Erro ao ler o arquivo.")

Exemplo avançado: Manipulação de arquivos CSV

Explicaremos como escrever e ler listas em arquivos CSV. Arquivos CSV são amplamente utilizados para armazenar e compartilhar dados de maneira conveniente.

Escrevendo em um arquivo CSV

Usamos o módulo csv do Python para escrever uma lista em um arquivo CSV.

Definindo e inicializando a lista

Primeiro, definimos a lista que será escrita em um arquivo CSV. Neste exemplo, armazenamos várias frutas e seus preços.

fruits = [
    ['Apple', 100],
    ['Banana', 50],
    ['Cherry', 200],
    ['Date', 150],
    ['Elderberry', 300]
]

Exemplo de código para escrever em um arquivo CSV

Em seguida, escrevemos o conteúdo da lista em um arquivo CSV.

import csv

with open('fruits.csv', 'w', newline='') as file:
    writer = csv.writer(file)
    writer.writerow(['Fruit', 'Price'])
    writer.writerows(fruits)

Explicação do código

  • import csv
    Importa o módulo csv do Python.
  • with open('fruits.csv', 'w', newline='') as file:
    Cria e abre um arquivo CSV chamado 'fruits.csv' em modo de escrita ('w'). newline='' previne a inserção de linhas em branco entre as linhas de dados.
  • writer = csv.writer(file)
    Cria um objeto writer para escrever no arquivo CSV.
  • writer.writerow(['Fruit', 'Price'])
    Escreve a linha de cabeçalho.
  • writer.writerows(fruits)
    Escreve cada elemento da lista fruits no arquivo CSV.

Lendo dados de um arquivo CSV

Em seguida, leremos uma lista a partir de um arquivo CSV.

import csv

with open('fruits.csv', 'r') as file:
    reader = csv.reader(file)
    header = next(reader)  # Ignora a linha de cabeçalho
    fruits = [row for row in reader]

Explicação do código

  • import csv
    Importa o módulo csv do Python.
  • with open('fruits.csv', 'r') as file:
    Abre o arquivo 'fruits.csv' em modo de leitura ('r').
  • reader = csv.reader(file)
    Cria um objeto reader para ler o arquivo CSV.
  • header = next(reader)
    Ignora a linha de cabeçalho.
  • fruits = [row for row in reader]
    Lê cada linha do arquivo e a armazena na lista fruits.

Exemplo de código para manipulação de arquivos CSV

Explicaremos como escrever e ler listas em arquivos CSV com Python através de exemplos de código específicos.

Exemplo de código para escrever em um arquivo CSV

O código a seguir mostra como escrever uma lista em um arquivo CSV.

import csv

# Lista de dados a ser escrita
fruits = [
    ['Apple', 100],
    ['Banana', 50],
    ['Cherry', 200],
    ['Date', 150],
    ['Elderberry', 300]
]

# Escrevendo no arquivo CSV
with open('fruits.csv', 'w', newline='') as file:
    writer = csv.writer(file)
    # Escrevendo a linha de cabeçalho
    writer.writerow(['Fruit', 'Price'])
    # Escrevendo as linhas de dados
    writer.writerows(fruits)

Explicação do código

  • import csv
    Importa o módulo csv do Python.
  • fruits
    Define uma lista com várias frutas e seus preços.
  • with open('fruits.csv', 'w', newline='') as file:
    Cria e abre um arquivo CSV chamado 'fruits.csv' em modo de escrita ('w'). newline='' previne a inserção de linhas em branco entre as linhas de dados.
  • writer = csv.writer(file)
    Cria um objeto writer para escrever no arquivo CSV.
  • writer.writerow(['Fruit', 'Price'])
    Escreve a linha de cabeçalho como 'Fruit' e 'Price'.
  • writer.writerows(fruits)
    Escreve cada elemento da lista fruits como linha de dados no arquivo CSV.

Exemplo de código para ler de um arquivo CSV

Em seguida, mostramos como carregar uma lista de um arquivo CSV.

import csv

# Lendo dados do arquivo CSV
with open('fruits.csv', 'r') as file:
    reader = csv.reader(file)
    # Ignora a linha de cabeçalho
    header = next(reader)
    # Lê cada linha do arquivo e armazena em uma lista
    fruits = [row for row in reader]

Explicação do código

  • import csv
    Importa o módulo csv do Python.
  • with open('fruits.csv', 'r') as file:
    Abre o arquivo 'fruits.csv' em modo de leitura ('r').
  • reader = csv.reader(file)
    Cria um objeto reader para ler o arquivo CSV.
  • header = next(reader)
    Ignora a linha de cabeçalho.
  • fruits = [row for row in reader]
    Lê cada linha do arquivo e a armazena na lista fruits.

Verificação do resultado

Após executar o código acima, obtemos a seguinte lista:

fruits = [
    ['Apple', 100],
    ['Banana', 50],
    ['Cherry', 200],
    ['Date', 150],
    ['Elderberry', 300]
]

Exercícios

Para reforçar o entendimento sobre como escrever e ler listas em arquivos com Python, apresentamos alguns exercícios. Trabalhar nesses exercícios ajudará a desenvolver habilidades práticas.

Exercício 1: Escrita e leitura em um arquivo de texto

Escreva a seguinte lista em um arquivo de texto chamado vegetables.txt e, em seguida, leia novamente o arquivo para retornar uma lista.

vegetables = ['Carrot', 'Potato', 'Cabbage', 'Broccoli', 'Spinach']

Resultado esperado

  • O arquivo vegetables.txt conterá os nomes dos vegetais, cada um em uma linha.
  • Ao ler o arquivo, você obterá uma lista com o mesmo conteúdo de vegetables.

Exercício 2: Escrita e leitura em um arquivo CSV

Escreva a seguinte lista em um arquivo CSV chamado employees.csv e, em seguida, leia novamente o arquivo para retornar uma lista.

employees = [
    ['John Doe', 'Manager', 50000],
    ['Jane Smith', 'Developer', 60000],
    ['Emily Davis', 'Designer', 55000]
]

Resultado esperado

  • O arquivo employees.csv conterá os dados de cada funcionário em uma linha.
  • Ao ler o arquivo, você obterá uma lista com o mesmo conteúdo de employees.

Exercício 3: Manipulação e regravação de dados

O arquivo students.txt contém nomes de estudantes e suas pontuações. Leia o arquivo, aumente a pontuação de todos em 10 pontos e salve em um novo arquivo updated_students.txt.

Conteúdo de students.txt:

Alice, 80
Bob, 70
Charlie, 90
Diana, 85
Edward, 60

Resultado esperado

  • O arquivo updated_students.txt conterá os dados com as pontuações aumentadas em 10 pontos.

Conteúdo de updated_students.txt:

Alice, 90
Bob, 80
Charlie, 100
Diana, 95
Edward, 70

Resumo

Explicamos métodos específicos para escrever e ler listas em arquivos com Python. Salvando listas em arquivos de texto ou CSV, você facilita a persistência e o compartilhamento de dados. Além disso, carregar dados de arquivos permite o uso de dados externos.

Neste artigo, apresentamos exemplos específicos de escrita e leitura em arquivos de texto e CSV, explicando cada passo com exemplos de código práticos. Também oferecemos exercícios práticos para reforçar o entendimento.

Dominando essas técnicas, você poderá realizar processamento de dados com Python de forma mais eficiente e eficaz. Aplique-as em suas atividades diárias de programação!

Índice