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.
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 estruturawith
, o arquivo será automaticamente fechado ao término da operação.for item in my_list:
Executa um loop para cada elemento da listamy_list
.file.write(f"{item}\n")
Escreve cada elemento da lista em uma linha no arquivo. A expressãof"{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 estruturawith
, 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 listamy_list
. O métodoline.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 estruturawith
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 listamy_list
. A compreensão de lista é usada para processar cada linha e o métodoline.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ódulocsv
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 objetowriter
para escrever no arquivo CSV.writer.writerow(['Fruit', 'Price'])
Escreve a linha de cabeçalho.writer.writerows(fruits)
Escreve cada elemento da listafruits
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ódulocsv
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 objetoreader
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 listafruits
.
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ódulocsv
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 objetowriter
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 listafruits
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ódulocsv
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 objetoreader
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 listafruits
.
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!