Cómo cargar datos de un archivo de texto en Pandas
-
read_csv()método para cargar los datos del archivo de texto -
read_fwf()método para cargar el archivo de texto con formato ancho en el PandasDataFrame -
read_table()método para cargar el archivo de texto a PandasDataFrame
Introduciremos los métodos para cargar los datos del fichero txt con el Pandas DataFrame. También repasaremos las opciones disponibles.
Primero, crearemos un simple archivo de texto llamado sample.txt y añadiremos las siguientes líneas al archivo:
45 apple orange banana mango
12 orange kiwi onion tomato
Necesitamos guardarlo en el mismo directorio desde donde se ejecutará el script Python.
read_csv() método para cargar los datos del archivo de texto
read_csv() es la mejor manera de convertir el archivo de text en el Pandas DataFrame. Necesitamos poner header=None ya que no tenemos ningún header en el archivo creado arriba. También podemos poner keep_default_na=False dentro del método si queremos reemplazar los valores vacíos con NaN.
Códigos de ejemplo:
# python 3.x
import pandas as pd
df = pd.read_csv("sample.txt", sep=" ", header=None)
print(df)
Producción :
0 1 2 3 4
0 45 apple orange banana mango
1 12 orange kiwi onion tomato
Ponemos sep=" " porque los valores están separados por un solo espacio en blanco. De manera similar, podemos establecer sep="," si leemos los datos de un archivo separado por comas. Reemplaza los espacios en blanco dentro de sample.txt por ,y luego ejecuta el código después de reemplazar sep=" " con 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)
Producción :
0 1 2 3 4
0 45 apple orange banana mango
1 12 orange kiwi NaN tomato
read_fwf() método para cargar el archivo de texto con formato ancho en el Pandas DataFrame
read_fwf() es muy útil para cargar un archivo de texto con formato ancho. No podemos usar sep porque diferentes valores pueden tener diferentes delimitadores. Considera el siguiente archivo de texto:
Sample.txt
45 apple orange banana mango
12 orange kiwi onion tomato
En Sample.text, delimiter no es lo mismo para todos los valores. Así que read_fwf() hará el trabajo aquí.
Código:
# python 3.x
import pandas as pd
df = pd.read_fwf("sample.txt", header=None)
print(df)
Producción :
0 1 2 3 4
0 45 apple orange banana mango
1 12 orange kiwi onion tomato
read_table() método para cargar el archivo de texto a Pandas DataFrame
read_table() es otro enfoque para cargar datos desde el archivo de text al 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)
Producción :
0 1 2 3 4
0 45 apple orange banana mango
1 12 orange kiwi onion tomato