Cargar datos de txt con pandas
Estoy cargando un archivo txt que contiene una combinación de datos flotantes y de cadena. Quiero almacenarlos en una matriz donde pueda acceder a cada elemento. Ahora solo estoy haciendo
import pandas as pd
data = pd.read_csv('output_list.txt', header = None)
print data
Cada línea del archivo de entrada tiene el siguiente aspecto:
1 0 2000.0 70.2836942112 1347.28369421 /file_address.txt
Ahora los datos se importan como una columna única. ¿Cómo puedo dividirlo para almacenar diferentes elementos por separado (para poder llamar data[i,j]
)? ¿Y cómo puedo definir un encabezado?
Puedes usar:
data = pd.read_csv('output_list.txt', sep=" ", header=None)
data.columns = ["a", "b", "c", "etc."]
Agregue sep=" "
su código, dejando un espacio en blanco entre las comillas. Entonces los pandas pueden detectar espacios entre valores y ordenarlos en columnas. Las columnas de datos sirven para nombrar sus columnas.
Me gustaría agregar a las respuestas anteriores, puedes usar directamente
df = pd.read_fwf('output_list.txt')
fwf significa líneas formateadas de ancho fijo.
Puedes hacer como:
import pandas as pd
df = pd.read_csv('file_location\filename.txt', delimiter = "\t")
(como, df = pd.read_csv('F:\Desktop\ds\text.txt', delimitador = "\t")
La solución de @Pietrovismara es correcta, pero me gustaría agregar: en lugar de tener una línea separada para agregar nombres de columnas, es posible hacerlo desde pd.read_csv.
df = pd.read_csv('output_list.txt', sep=" ", header=None, names=["a", "b", "c"])