Recomendaría la read_csv
función de la pandas
biblioteca:
import pandas as pd
df=pd.read_csv('myfile.csv', sep=',',header=None)
df.values
array([[ 1. , 2. , 3. ],
[ 4. , 5.5, 6. ]])
Esto proporciona un DataFrame de pandas , que permite muchas funciones útiles de manipulación de datos que no están disponibles directamente con matrices de registros numpy .
DataFrame es una estructura de datos etiquetada bidimensional con columnas de tipos potencialmente diferentes. Puedes pensarlo como una hoja de cálculo o una tabla SQL ...
Yo también lo recomendaría genfromtxt
. Sin embargo, dado que la pregunta solicita una matriz de registros , a diferencia de una matriz normal, el dtype=None
parámetro debe agregarse a la genfromtxt
llamada:
Dado un archivo de entrada, myfile.csv
:
1.0, 2, 3
4, 5.5, 6
import numpy as np
np.genfromtxt('myfile.csv',delimiter=',')
da una matriz:
array([[ 1. , 2. , 3. ],
[ 4. , 5.5, 6. ]])
y
np.genfromtxt('myfile.csv',delimiter=',',dtype=None)
da una matriz de registros:
array([(1.0, 2.0, 3), (4.0, 5.5, 6)],
dtype=[('f0', '<f8'), ('f1', '<f8'), ('f2', '<i4')])
Esto tiene la ventaja de que el archivo con múltiples tipos de datos (incluidas las cadenas) se puede importar fácilmente .