recomendaría la función de la biblioteca read_csv
pandas
:
import pandas as pd
df=pd.read_csv('myfile.csv', sep=',',header=None)
df.values
array([[ 1. , 2. , 3. ],
[ 4. , 5.5, 6. ]])
Esto da un pandas DataFrame - permitiendo many useful data manipulation functions which are not directly available with numpy record arrays.
DataFrame is a 2-dimensional labeled data structure with columns of potentially different types. You can think of it like a spreadsheet or SQL table...
Yo también lo recomendaría genfromtxt
. Sin embargo, ya que la pregunta pide una record array, en contraposición a una matriz normal, el parámetro dtype=None
necesita ser añadido 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 registro:
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 multiple data types (including strings) can be easily imported.
Posible duplicado de [¿Cómo leer y escribir archivos CSV con Python?] (Http://stackoverflow.com/questions/41585078/how -do-i-read-and-write-csv-files-with-python) –