Estoy cargando un archivo txt que contiene una mezcla de datos flotantes y de cadena. Quiero almacenarlos en una matriz donde puedo acceder a cada elemento. Ahora solo estoy haciendo
import pandas as pd
data = pd.read_csv('output_list.txt', header = None)
print data
Esta es la estructura del archivo de entrada: 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?
Me gustaría agregar a las respuestas anteriores, podría usar directamente
fwf significa líneas formateadas de ancho fijo.
fuente
La solución de @ Pietrovismara es correcta, pero me gustaría agregar: en lugar de tener una línea separada para agregar nombres de columna, es posible hacerlo desde pd.read_csv.
fuente
puedes usar esto
fuente
Si no tiene un índice asignado a los datos y no está seguro de cuál es el espacio, puede usarlo para permitir que los pandas asignen un índice y busquen múltiples espacios.
fuente
delim_whitespace=True
lugar del'\s+'
delimitadorPuedes hacer lo siguiente:
(como, df = pd.read_csv ('F: \ Desktop \ ds \ text.txt', delimitador = "\ t")
fuente
Según los últimos cambios en pandas, puede usar, read_csv, read_table está en desuso:
fuente
Puede importar el archivo de texto usando el comando read_table de la siguiente manera:
El preprocesamiento deberá hacerse después de cargar
fuente
Por lo general, primero miro los datos o simplemente trato de importarlos y hago data.head (), si ve que las columnas están separadas con \ t, debe especificar lo
sep="\t"
contrariosep = " "
.fuente