Intento leer el archivo en pandas. El archivo tiene valores separados por espacio, pero con diferente número de espacios probé:
pd.read_csv('file.csv', delimiter=' ')
pero no funciona
Intento leer el archivo en pandas. El archivo tiene valores separados por espacio, pero con diferente número de espacios probé:
pd.read_csv('file.csv', delimiter=' ')
pero no funciona
Respuestas:
agregar delim_whitespace=True
argumento, es más rápido que regex.
delimiter=' '
ya que son mutuamente excluyentes en versiones recientes.
delimiter=' '
es muy frágil, dice esperar un solo espacio. Sin pestañas, línea de noticias, espacios múltiples, espacios en blanco que no se rompan, combinación de estos, etc., delimiter='\s+'
es lo que pandas recomienda y es más robusto.
puedes usar regex como delimitador:
pd.read_csv("whitespace.csv", header=None, delimiter=r"\s+")
engine = "python"
para evitar una advertencia.
Si no puede hacer que el análisis de texto funcione usando la respuesta aceptada (por ejemplo, si su archivo de texto contiene filas no uniformes), entonces vale la pena intentarlo con la biblioteca csv de Python; aquí hay un ejemplo usando un dialecto definido por el usuario :
import csv
csv.register_dialect('skip_space', skipinitialspace=True)
with open(my_file, 'r') as f:
reader=csv.reader(f , delimiter=' ', dialect='skip_space')
for item in reader:
print(item)