Tratamento de E/S de arquivos em Python: ler, gravar e processar arquivos

Guia prático para operações de arquivo em Python

Aprenda a realizar operações de entrada/saída de arquivos em Python. Este tutorial aborda a leitura, gravação e processamento de vários formatos de arquivo com exemplos práticos.

Programação
Autor
Afiliação
Data de Publicação

9 de fevereiro de 2024

Data de Modificação

29 de abril de 2025

Palavras-chave

E/S de arquivos em Python, Ler e gravar arquivos em Python, processamento de arquivos Python, Operações com arquivos Python, Lidando com entrada e saída de arquivos

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")
content = file.read()
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:
    content = file.read()
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
data = "This is a sample text to be written to a file."
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
additional_data = "\nThis line is appended."
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:
    reader = csv.reader(csvfile)
    for row in reader:
        print(row)

Alternativamente, usando Pandas:

#|label: read-csv-pandas
import pandas as pd

df = pd.read_csv("data.csv")
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:
    data = json.load(file)
print(data)

Escrevendo um arquivo JSON

Você também pode gravar dados JSON em um arquivo:

#|label: write-json
data = {"name": "Alice", "age": 30, "city": "New York"}
with open("output.json", "w") as file:
    json.dump(data, file, indent=4)

Melhores práticas para E/S de arquivos

  • Use a instrução with:
    Sempre use with 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âmetro encoding em open(), 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

Boa programação e aproveite o gerenciamento de seus arquivos com Python!

Explore mais artigos

Nota

Aqui estão mais artigos da mesma categoria para ajudá-lo a se aprofundar no tópico.

placeholder

placeholder
Nenhum item correspondente
De volta ao topo

Reuso

Citação

BibTeX
@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}
}
Por favor, cite este trabalho como:
Kassambara, Alboukadel. 2024. “Tratamento de E/S de arquivos em Python: ler, gravar e processar arquivos.” February 9, 2024. https://www.datanovia.com/pt/learn/programming/python/additional-tutorials/file-io.html.