Como carregar dados do arquivo de texto em Pandas

  1. read_csv() Método para carregar dados do arquivo de texto
  2. read_fwf() Método para carregar arquivo de texto com formato de largura para Pandas dataframe
  3. Método read_table() para carregar arquivo de texto no Pandas dataframe

Apresentaremos os métodos para carregar os dados de um arquivo txt com Pandas dataframe. Também analisaremos as opções disponíveis.

Primeiro, vamos criar um arquivo de texto simples chamado sample.txt e adicionar as seguintes linhas ao arquivo:

45 apple orange banana mango
12 orange kiwi onion tomato

Precisamos salvá-lo no mesmo diretório de onde o script Python será executado.

read_csv() Método para carregar dados do arquivo de texto

read_csv() é a melhor maneira de converter o arquivo text em Pandas Dataframe. Precisamos definir header=None já que não temos nenhum header no arquivo criado acima. Também podemos definir keep_default_na=False dentro do método se quisermos substituir valores vazios por NaN.

Códigos de exemplo:

# python 3.x
import pandas as pd
df = pd.read_csv(
    'sample.txt', sep=" ",header=None)
print(df)

Resultado:

    0       1       2       3       4
0  45   apple  orange  banana   mango
1  12  orange    kiwi   onion  tomato

Definimos sep=" " porque um único espaço branco separa os valores. Da mesma forma, podemos definir sep="," se lermos dados de um arquivo separado por vírgulas. Substitua os espaços brancos dentro de sample.txt por , e então execute o código após substituir sep=" " por sep=",".

  • Sample.txt
45,apple,orange,banana,mango
12,orange,kiwi,,tomato

Código:

# python 3.x
import pandas as pd
df = pd.read_csv(
    'sample.txt', sep=",",header=None)
print(df)

Resultado:

    0       1       2       3       4
0  45   apple  orange  banana   mango
1  12  orange    kiwi     NaN  tomato

read_fwf() Método para carregar arquivo de texto com formato de largura para Pandas dataframe

read_fwf() é muito útil para carregar um arquivo de texto com formato de largura. Não podemos utilizar o sep porque valores diferentes podem ter delimitadores diferentes. Considere o seguinte arquivo de texto:

  • Sample.txt
45 apple  orange banana mango
12 orange kiwi   onion  tomato

Em Sample.text, delimiter não é o mesmo para todos os valores. Portanto, read_fwf() fará o trabalho aqui.

Código:

# python 3.x
import pandas as pd
df = pd.read_fwf(
    'sample.txt',header=None)
print(df)

Resultado:

    0       1       2       3       4
0  45   apple  orange  banana   mango
1  12  orange    kiwi   onion  tomato

Método read_table() para carregar arquivo de texto no Pandas dataframe

A read_table() é outra abordagem para carregar dados do arquivo texto para Pandas dataframe.

  • Sample.txt:
45 apple orange banana mango
12 orange kiwi onion tomato

Código:

# python 3.x
import pandas as pd
df = pd.read_table(
    'sample.txt',header=None,sep=" ")
print(df)

Resultado:

    0       1       2       3       4
0  45   apple  orange  banana   mango
1  12  orange    kiwi   onion  tomato