Introdução
A entrada/saída (I/O) de arquivos é um aspecto fundamental da programação Python. Se você precisa ler dados de um arquivo, gravar resultados em um log ou processar diferentes formatos de arquivo para sua aplicação, dominar a E/S de arquivos é essencial. Neste tutorial, exploraremos vários métodos para lidar com operações de arquivo em Python, incluindo leitura e gravação de arquivos de texto e processamento de arquivos CSV e JSON. Esses exemplos práticos ajudarão você a gerenciar os dados do seu projeto com eficiência.
Lendo arquivos
Lendo um arquivo de texto
Você pode ler um arquivo usando a função open()
integrada ao Python. Veja como ler um arquivo de texto inteiro de uma vez:
#|label: reading-text-file
# Abrir um arquivo de texto no modo de leitura
file = open("example.txt", "r")
= file.read()
content file.close()
print(content)
Uma abordagem melhor é usar a instrução with
para garantir que o arquivo seja fechado corretamente:
#|label: reading-with-with
with open("example.txt", "r") as file:
= file.read()
content print(content)
Lendo arquivos linha por linha
Para arquivos grandes, é mais eficiente ler uma linha por vez:
#|label: reading-line-by-line
with open("example.txt", "r") as file:
for line in file:
print(line.strip())
Gravando arquivos
Escrevendo em um arquivo de texto
Gravar dados em um arquivo é semelhante a ler. Use a função open()
com o modo de gravação 'w'
:
#|label: writing-text-file
= "This is a sample text to be written to a file."
data with open("output.txt", "w") as file:
file.write(data)
Anexando a um arquivo
Para adicionar conteúdo sem sobrescrever o arquivo existente, use o modo append 'a'
:
#|label: appending-text-file
= "\nThis line is appended."
additional_data with open("output.txt", "a") as file:
file.write(additional_data)
Processamento de vários formatos de arquivo
Lendo um arquivo CSV
Você pode processar arquivos CSV facilmente com o módulo csv
ou Pandas. Aqui está um exemplo usando o módulo csv
integrado ao Python:
#|label: read-csv
import csv
with open("data.csv", newline="") as csvfile:
= csv.reader(csvfile)
reader for row in reader:
print(row)
Alternativamente, usando Pandas:
#|label: read-csv-pandas
import pandas as pd
= pd.read_csv("data.csv")
df print(df.head())
Lendo um arquivo JSON
O processamento de arquivos JSON é simples com o módulo json
do Python:
#|label: read-json
import json
with open("data.json", "r") as file:
= json.load(file)
data print(data)
Escrevendo um arquivo JSON
Você também pode gravar dados JSON em um arquivo:
#|label: write-json
= {"name": "Alice", "age": 30, "city": "New York"}
data with open("output.json", "w") as file:
file, indent=4) json.dump(data,
Melhores práticas para E/S de arquivos
- Use a instrução
with
:
Sempre usewith
para lidar com arquivos, garantindo que eles sejam fechados automaticamente. - Tratamento de erros:
Implemente blocos try/except para tratar erros de E/S com elegância. - Arquivos grandes:
Para arquivos grandes, considere processá-los linha por linha ou em blocos para evitar o uso excessivo de memória. - Codificação:
Esteja atento à codificação de arquivos, especialmente ao lidar com caracteres não ASCII. Use o parâmetroencoding
emopen()
, se necessário.
Conclusão
Dominar a E/S de arquivos em Python é crucial para gerenciar dados de maneira eficaz. Esteja você lendo, escrevendo ou processando vários formatos de arquivo, como CSV e JSON, as técnicas abordadas neste tutorial ajudarão você a lidar com arquivos de maneira eficiente e robusta em seus projetos. Experimente esses exemplos e adapte-os às suas necessidades.
Leitura adicional
- Entendendo as compreensões de lista do Python
- Guia completo para estruturas de dados Python
- Trabalhando com JSON em Python: análise e serialização
Boa programação e aproveite o gerenciamento de seus arquivos com Python!
Explore mais artigos
Aqui estão mais artigos da mesma categoria para ajudá-lo a se aprofundar no tópico.
Reuso
Citação
@online{kassambara2024,
author = {Kassambara, Alboukadel},
title = {Tratamento de E/S de arquivos em Python: ler, gravar e
processar arquivos},
date = {2024-02-09},
url = {https://www.datanovia.com/pt/learn/programming/python/additional-tutorials/file-io.html},
langid = {pt}
}