Pular para o conteúdo principal

Importando e escrevendo arquivos de texto em Python

Este artigo mostra diferentes formas de importar arquivos de texto no Python usando Python, NumPy e métodos nativos da linguagem. Também explica como converter esses dados em listas.
Atualizado 17 de set. de 2026  · 6 min lido

Explorar com IA

ChatGPTClaudePerplexity

Execute e edite o código deste tutorial online

Executar código

Este tutorial mostra como ler arquivos de texto em Python. Esse é um primeiro passo essencial em qualquer projeto que envolva dados de texto, especialmente em Processamento de Linguagem Natural (“NLP”). Existem nuances e armadilhas comuns ao importar arquivos de texto para o Python, o que faz com que cientistas de dados muitas vezes precisem sair de pacotes familiares como o pandas para lidar com texto de forma mais eficiente.

Para aproveitar melhor este artigo, é bom ter conhecimento básico de Python, em especial entender tipos de dados como as diferenças entre strings, inteiros e listas. Ter noção de pandas e do que é um dataframe também ajuda. 

Se você quer saber sobre importação de dados de arquivos .csv, isso é abordado em pandas read csv() Tutorial: Importing Data. Para aprender mais sobre importação a partir de arquivos JSON e pickle (.pkl), confira o tutorial Importing Data into pandas. Se o seu interesse é fazer web scraping de páginas HTML, Web Scraping using Python (and Beautiful Soup) pode ser para você. Outra opção é começar direto no DataCamp com nosso curso interativo Introduction to Importing Data in Python; o primeiro capítulo é gratuito.

O arquivo de texto

Neste tutorial, vamos usar um arquivo de texto simples, que é apenas um copiar e colar do primeiro parágrafo da página da Wikipedia sobre Natural Language Processing. Ele foi salvo como nlp_wiki.txt.  O conteúdo é o seguinte:

"Natural language processing (NLP) is an interdisciplinary subfield of linguistics, computer science, and artificial intelligence concerned with the interactions between computers and human language, in particular how to program computers to process and analyze large amounts of natural language data. The goal is a computer capable of "understanding" the contents of documents, including the contextual nuances of the language within them. The technology can then accurately extract information and insights contained in the documents as well as categorize and organize the documents themselves. Challenges in natural language processing frequently involve speech recognition, natural-language understanding, and natural-language generation."

Importando dados de texto em Python

Importando dados com a função read_table() do pandas

A função read_table() do pandas foi feita para ler arquivos de texto delimitados (por exemplo, uma planilha salva como texto, com vírgulas separando as colunas) em um dataframe. Nosso arquivo de texto não é delimitado. É só um trecho de texto copiado e colado. Ainda assim, usar pandas pode ser útil para visualizar rapidamente o conteúdo, já que a sintaxe é parecida com a do read_csv(), com a qual a maioria dos cientistas de dados já está acostumada.

O código abaixo lê um arquivo de texto usando pandas.

pd.read_table('nlp_wiki.txt', header=None, delimiter=None)

Saída:

image1.png

Passamos o nome do arquivo de texto e dois argumentos para a função read_table()

  • header=None informa ao pandas que a primeira linha contém texto, não um cabeçalho. 
  • delimiter=None informa ao pandas para não dividir as linhas em lugar nenhum (exceto nas quebras de linha), de modo que haja uma única coluna com uma linha por parágrafo.

Nesse caso, um DataFrame nem sempre é o ideal. Os parágrafos são separados em linhas individuais (o pandas usa o caractere de quebra de linha para isso) e não conseguimos ver a saída completa. Outra opção é chamar o método .to_list() da coluna.

pd.read_table('nlp_wiki.txt', header=None, delimiter=None)[0].to_list()

Saída:

image2.png

Isso retorna uma lista que pode ser acessada como uma lista normal do Python. Além disso, imprime o texto completo.

Personalizando a importação com read_table()

A função read_table() tem vários argumentos opcionais, detalhados na documentação oficial. Aqui estão alguns dos mais úteis:

skiprows=n

image3.png

Pula as primeiras n linhas. No nosso exemplo, pulamos a primeira linha.

nrows=n

image4.png

Mantém as primeiras n linhas. No nosso exemplo, mantivemos a primeira linha.

skip_blank_lines= True  

O pandas vai ignorar quaisquer valores NaN em vez de retornar uma linha vazia.

Importando dados de texto com o loadtxt() do NumPy

O loadtxt() do NumPy foi projetado para ler matrizes de números de um arquivo de texto; porém, ele também pode ler linhas de texto. Isso é conveniente se você já está usando NumPy no restante da análise, pois a saída é um array do NumPy.

np.loadtxt('nlp_wiki.txt', dtype="str", delimiter="\0")

Saída:

image5.png

Assim como no exemplo com pandas, passamos o argumento delimiter para evitar que as linhas sejam divididas. Aqui, o delimitador precisa ser um único caractere (usar None tem outro comportamento), então usamos o caractere de "terminação nula", \0. Como ele não pode aparecer no meio de uma string, seu uso significa "não usar delimitador".

Também passamos dtype="str", que informa ao NumPy qual tipo de dado dar ao array resultante. No nosso caso, usamos “str”, que retorna strings. Isso também pode ser convertido para lista com a função .tolist().

Importando arquivos de texto com a função nativa open() do Python

Você tem máxima flexibilidade usando os recursos nativos do Python. É menos amigável e pensado principalmente para engenharia de software. Para análise de dados, as soluções com pandas ou NumPy geralmente bastam.

Para usar open(), você também precisa de um context manager, que é a palavra-chave with. Ela aloca os recursos do seu computador apenas enquanto o código indentado abaixo do with está rodando. Neste caso, abrimos o arquivo, fazemos um loop e o armazenamos em memória na variável lines, e depois fechamos.

O laço for aqui usa uma list comprehension: cada item é uma linha conforme interpretada pela função open(), que, neste caso, é separada por uma quebra de linha (\n).

Este bloco de código também usa a função strip(), que remove espaços em branco extras antes e depois de cada objeto (ou linha).

with open(filename) as file:
    lines = [line.strip() for line in file]

Saída:

image7.png

Como você pode ver, isso gera uma única lista, em que cada item é um parágrafo. Diferente dos exemplos com pandas e NumPy, temos três objetos aqui porque o texto original tem duas quebras de linha entre os parágrafos.

Escrevendo arquivos de texto em Python 

Agora que vimos como importar arquivos de texto em Python, vamos conferir como escrevê-los. Ao escrever arquivos, queremos dizer salvar arquivos de texto na sua máquina a partir do Python. Isso é especialmente útil quando você manipulou textos no Python e quer salvar o resultado. 

Escrevendo arquivos de texto com o método nativo write()

Você pode escrever arquivos de texto em Python usando o método nativo write(). Ele também requer o uso de open() e de um context manager com a palavra-chave with. Veja um exemplo:

with open("new_nlp_wiki.txt", "w") as file:
  file.write("New wiki entry: ChatGPT")

Neste exemplo, abrimos um arquivo chamado new_nlp_wiki.txt em modo de escrita (o argumento 'w'), o que significa que qualquer conteúdo existente será sobrescrito. Em seguida, chamamos o método write() no objeto do arquivo para escrever a string “New wiki entry: ChatGPT” nele.

Se você quiser acrescentar texto a um arquivo existente, em vez de sobrescrevê-lo, abra o arquivo em modo de append (o argumento 'a'):

with open("new_nlp_wiki.txt", "a") as file:
    file.write("New wiki entry: ChatGPT")

Escrevendo arquivos de texto com o método to_csv() do pandas

Provavelmente a forma mais simples de escrever um arquivo de texto usando pandas é com o método to_csv(). Vamos ver isso na prática!

nlp_wiki = pd.read_table("nlp_wiki.txt", header=None, delimiter=None)
nlp_wiki.to_csv("nlp_wiki_pandas.txt", sep="\t", index=False)

Na primeira linha, lemos um arquivo de texto com o método read_table(), como vimos antes. Depois salvamos o arquivo usando to_csv(), definindo o separador como um caractere de tabulação ('\t') e ajustando o argumento index para False, para excluir o índice das linhas na saída.

Recapitulando

Esperamos que você tenha curtido este tutorial! Para recapitular, aqui está o que foi abordado:

Tópicos
Python

Cursos de Python

Curso

Introdução ao Python

4 h
7M
Domine os fundamentos da análise de dados com Python em quatro horas e explore pacotes populares.
Ver detalhesRight Arrow
Iniciar Curso
Ver maisRight Arrow
Relacionado

Tutorial

Tutorial do Python Excel: O guia definitivo

Saiba como ler e importar arquivos do Excel em Python, gravar dados nessas planilhas e encontrar os melhores pacotes para fazer isso.
Natassha Selvaraj's photo

Natassha Selvaraj

15 min

Tutorial

Tutorial pandas read csv(): Importação de dados

A importação de dados é a primeira etapa de qualquer projeto de ciência de dados. Saiba por que os cientistas de dados atuais preferem a função read_csv() do pandas para fazer isso.
Kurtis Pykes 's photo

Kurtis Pykes

9 min

Tutorial

Matrizes Python

Matrizes Python com exemplos de código. Aprenda hoje mesmo a criar e imprimir matrizes usando o Python NumPy!
DataCamp Team's photo

DataCamp Team

3 min

Tutorial

Três maneiras de transformar um script Python num arquivo Exe

Aprenda o que é um arquivo executável e como converter um script Python em um arquivo .exe usando PyInstaller, Nuitka e auto-py-to-exe.
Kurtis Pykes 's photo

Kurtis Pykes

7 min

Tutorial

Python New Line: Métodos para formatação de código

Descubra como usar \n para inserir quebras de linha em cadeias de caracteres e instruções print(). Use o parâmetro end para manter a saída em uma única linha. Aprimore suas habilidades de manipulação de arquivos com o os.linesep para gerenciar texto em diferentes sistemas.
Samuel Shaibu's photo

Samuel Shaibu

8 min

Tutorial

Entendendo a classificação de textos em Python

Descubra o que é a classificação de texto, como ela funciona e os casos de uso bem-sucedidos. Explore exemplos de ponta a ponta de como criar um pipeline de pré-processamento de texto seguido de um modelo de classificação de texto em Python.
Moez Ali's photo

Moez Ali

12 min

Ver MaisVer Mais